 bondscell_results M$a10d59e8-8dae-4796-a88b-4907437164f5queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAIOpersist_js_state·has_pluto_hook_features§cell_id$a10d59e8-8dae-4796-a88b-4907437164f5depends_on_disabled_cells§runtime Mpublished_object_keysdepends_on_skipped_cells§errored$3b18aa3a-4521-4b4c-9500-a5f95003aed5queued¤logsrunning¦outputbodymsg#UndefVarError: _combine not definedstacktracecall_short[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})inlined£url٣https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149pathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451source_packagecall[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})linfo_typeCore.MethodInstanceline̕fileDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451func#combine#3parent_modulefrom_ccall_shortcombine(f::Function)inlined£url٣https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149pathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451source_packagecallcombine(f::Function)linfo_typeCore.MethodInstanceline̕fileDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451funccombineparent_modulefrom_ccall_shortmacro expansioninlinedãurlpathv/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/bonds.jl#@#==#3b18aa3a-4521-4b4c-9500-a5f95003aed5source_packagecallmacro expansionlinfo_typeNothingline}file2bonds.jl#@#==#3b18aa3a-4521-4b4c-9500-a5f95003aed5funcmacro expansionparent_modulefrom_ccall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#3b18aa3a-4521-4b4c-9500-a5f95003aed5source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#3b18aa3a-4521-4b4c-9500-a5f95003aed5functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassignee@skip_as_script cb2blast_run_timestampA6persist_js_state·has_pluto_hook_features§cell_id$3b18aa3a-4521-4b4c-9500-a5f95003aed5depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aqueued¤logsrunning¦outputbody<div class="pluto-docs-binding">
<span id="render_hmtl_with_pluto_display_features">render_hmtl_with_pluto_display_features</span>
<div class="markdown"><p>Same as <code>repr&#40;MIME&quot;text/html&quot;&#40;&#41;, x&#41;</code> but the <code>IOContext</code> is set up to match the one used by Pluto to render. This means that if the object being rendered wants to use <code>AbstractPlutoDingetjes.is_supported_by_display</code>, they can.</p>


</div>
</div>
mimetext/htmlrootassigneelast_run_timestampA	persist_js_state·has_pluto_hook_features§cell_id$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146adepends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9aqueued¤logsrunning¦outputbodymsgUndefVarError: cb2b not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#54ad28fe-ce9b-4984-9cf7-a65c3e3fec9asource_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#54ad28fe-ce9b-4984-9cf7-a65c3e3fec9afunctop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA9ypersist_js_state·has_pluto_hook_features§cell_id$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9adepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$dcb4786a-930a-4e8a-860a-a12c7e8726c6queued¤logsrunning¦outputbodymsgUndefVarError: ha not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#dcb4786a-930a-4e8a-860a-a12c7e8726c6source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#dcb4786a-930a-4e8a-860a-a12c7e8726c6functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAWpersist_js_state·has_pluto_hook_features§cell_id$dcb4786a-930a-4e8a-860a-a12c7e8726c6depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$28e73db2-6c80-44c5-94cd-d5a2cc7cd935queued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassignee@skip_as_script rblast_run_timestampAe˰persist_js_state·has_pluto_hook_features§cell_id$28e73db2-6c80-44c5-94cd-d5a2cc7cd935depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$7f70715b-b13c-4b72-93c3-5c2c4334b809queued¤logsrunning¦outputbodymsg"UndefVarError: ☎️s not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#7f70715b-b13c-4b72-93c3-5c2c4334b809source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#7f70715b-b13c-4b72-93c3-5c2c4334b809functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA3'İpersist_js_state·has_pluto_hook_features§cell_id$7f70715b-b13c-4b72-93c3-5c2c4334b809depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$4650374e-dae2-46cb-ba91-50200621bf08queued¤logsrunning¦outputbodymsgUndefVarError: rb not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#4650374e-dae2-46cb-ba91-50200621bf08source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#4650374e-dae2-46cb-ba91-50200621bf08functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA'epersist_js_state·has_pluto_hook_features§cell_id$4650374e-dae2-46cb-ba91-50200621bf08depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$0605a0c5-1329-4e9b-916d-c74a132598e0queued¤logsrunning¦outputbody%@only_as_script (macro with 1 method)mimetext/plainrootassigneelast_run_timestampA=persist_js_state·has_pluto_hook_features§cell_id$0605a0c5-1329-4e9b-916d-c74a132598e0depends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$5ac241dc-7d04-46a5-943e-6830f745e798queued¤logsrunning¦outputbodymsg%UndefVarError: Scrubbable not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#5ac241dc-7d04-46a5-943e-6830f745e798source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#5ac241dc-7d04-46a5-943e-6830f745e798functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAQ_԰persist_js_state·has_pluto_hook_features§cell_id$5ac241dc-7d04-46a5-943e-6830f745e798depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$8143e4f0-8d66-4c64-9b4c-68954167e803queued¤logsrunning¦outputbodymsgUndefVarError: wowz not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#8143e4f0-8d66-4c64-9b4c-68954167e803source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#8143e4f0-8d66-4c64-9b4c-68954167e803functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA8*persist_js_state·has_pluto_hook_features§cell_id$8143e4f0-8d66-4c64-9b4c-68954167e803depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$a570d7ef-72e5-49dd-92bd-e3925c896a23queued¤logsrunning¦outputbodymsgUndefVarError: ca not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#a570d7ef-72e5-49dd-92bd-e3925c896a23source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#a570d7ef-72e5-49dd-92bd-e3925c896a23functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAvpersist_js_state·has_pluto_hook_features§cell_id$a570d7ef-72e5-49dd-92bd-e3925c896a23depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$8335ad24-3ff8-4a74-862f-13a710d4acf8queued¤logsrunning¦outputbodymsg%UndefVarError: Scrubbable not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#8335ad24-3ff8-4a74-862f-13a710d4acf8source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#8335ad24-3ff8-4a74-862f-13a710d4acf8functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampALpersist_js_state·has_pluto_hook_features§cell_id$8335ad24-3ff8-4a74-862f-13a710d4acf8depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$87796357-5df1-4a7a-928a-5df3527b956fqueued¤logslinemsgH[32m[1m  Activating[22m[39m project at `~/.julia/environments/v1.7`
text/plaincell_id$87796357-5df1-4a7a-928a-5df3527b956fkwargsidPlutoRunner_d1acb81efileP/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/io/stdout.jlgroupstdoutlevelLogLevel(-555)running¦outputbodymimetext/plainrootassigneelast_run_timestampAkpersist_js_state·has_pluto_hook_features§cell_id$87796357-5df1-4a7a-928a-5df3527b956fdepends_on_disabled_cells§runtime+Kpublished_object_keysdepends_on_skipped_cells§errored$accefce9-8508-495f-bb5e-6d3446e0c9a6queued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA7persist_js_state·has_pluto_hook_features§cell_id$accefce9-8508-495f-bb5e-6d3446e0c9a6depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$32ab1f69-9e16-45ad-b44d-895a564178f4queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampA;persist_js_state·has_pluto_hook_features§cell_id$32ab1f69-9e16-45ad-b44d-895a564178f4depends_on_disabled_cells§runtime ͵published_object_keysdepends_on_skipped_cells§errored$aa01652d-7690-4462-8bae-2d77656abc8bqueued¤logsrunning¦outputbodymsgLsyntax: extra token after end of expression

Boundaries: [34, 103, 135, 234]stacktracesource_packagefilesyntax error.jlfuncthrow_syntax_errorcall_short#throw_syntax_error(syntax_err::Any)inlined£urlbfile:///home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/display/syntax error.jlpath[/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/display/syntax error.jlcall#throw_syntax_error(syntax_err::Any)linfo_typeCore.MethodInstanceline̲parent_modulefrom_csource_packagefileDpersistent combine values.jl#==#aa01652d-7690-4462-8bae-2d77656abc8bfunc##function_wrapped_cell#1709call_shorttop-level scopeinlinedãurlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#aa01652d-7690-4462-8bae-2d77656abc8bcalltop-level scopelinfo_typeNothinglineparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$aa01652d-7690-4462-8bae-2d77656abc8bdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$9b705730-a68a-450f-99a8-11b7d302ebe0queued¤logsrunning¦outputbodymsgUndefVarError: ca not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#9b705730-a68a-450f-99a8-11b7d302ebe0source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#9b705730-a68a-450f-99a8-11b7d302ebe0functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA߭persist_js_state·has_pluto_hook_features§cell_id$9b705730-a68a-450f-99a8-11b7d302ebe0depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$290974ad-8c0a-48b6-a691-74ba7dc2b0f8queued¤logsrunning¦outputbodymsg#UndefVarError: together not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#290974ad-8c0a-48b6-a691-74ba7dc2b0f8source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#290974ad-8c0a-48b6-a691-74ba7dc2b0f8functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA&2'persist_js_state·has_pluto_hook_features§cell_id$290974ad-8c0a-48b6-a691-74ba7dc2b0f8depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$5922807c-6e49-11ec-3c79-87e011cbf088queued¤logsrunning¦outputbodymsgفArgumentError: Package PlutoUI not found in current path:
- Run `import Pkg; Pkg.add("PlutoUI")` to install the PlutoUI package.
stacktracecall_short"require(into::Module, mod::Symbol)inlined£urlehttps://github.com/JuliaLang/julia/tree/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/loading.jl#L959path./loading.jlsource_packagecall"require(into::Module, mod::Symbol)linfo_typeCore.MethodInstancelineǤfileloading.jlfuncrequireparent_modulefrom_ccall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#5922807c-6e49-11ec-3c79-87e011cbf088source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#5922807c-6e49-11ec-3c79-87e011cbf088functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAڮ`persist_js_state·has_pluto_hook_features§cell_id$5922807c-6e49-11ec-3c79-87e011cbf088depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$34cfe0dc-7bca-4c6f-99ce-96758ccbd3afqueued¤logsrunning¦outputbodymsg+UndefVarError: HypertextLiteral not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#34cfe0dc-7bca-4c6f-99ce-96758ccbd3afsource_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#34cfe0dc-7bca-4c6f-99ce-96758ccbd3affunctop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneeconst set_input_value_compatlast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$34cfe0dc-7bca-4c6f-99ce-96758ccbd3afdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$172e4393-8b3e-434e-a20a-d7748214fc23queued¤logsrunning¦outputbodymsgٮArgumentError: Package AbstractPlutoDingetjes not found in current path:
- Run `import Pkg; Pkg.add("AbstractPlutoDingetjes")` to install the AbstractPlutoDingetjes package.
stacktracecall_short"require(into::Module, mod::Symbol)inlined£urlehttps://github.com/JuliaLang/julia/tree/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/loading.jl#L959path./loading.jlsource_packagecall"require(into::Module, mod::Symbol)linfo_typeCore.MethodInstancelineǤfileloading.jlfuncrequireparent_modulefrom_ccall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#172e4393-8b3e-434e-a20a-d7748214fc23source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#172e4393-8b3e-434e-a20a-d7748214fc23functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAPpersist_js_state·has_pluto_hook_features§cell_id$172e4393-8b3e-434e-a20a-d7748214fc23depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$845513d0-eb02-4c6a-bee9-56054d212d71queued¤logsrunning¦outputbodymsg!UndefVarError: speeds not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#845513d0-eb02-4c6a-bee9-56054d212d71source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#845513d0-eb02-4c6a-bee9-56054d212d71functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAtpersist_js_state·has_pluto_hook_features§cell_id$845513d0-eb02-4c6a-bee9-56054d212d71depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$06d6f45a-3783-4b31-8926-ff0973bcc188queued¤logsrunning¦outputbodymsgUndefVarError: f not definedstacktracecall_shortmacro expansioninlinedãurlpathv/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/bonds.jl#@#==#06d6f45a-3783-4b31-8926-ff0973bcc188source_packagecallmacro expansionlinfo_typeNothingline}file2bonds.jl#@#==#06d6f45a-3783-4b31-8926-ff0973bcc188funcmacro expansionparent_modulefrom_ccall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#06d6f45a-3783-4b31-8926-ff0973bcc188source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#06d6f45a-3783-4b31-8926-ff0973bcc188functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAYpersist_js_state·has_pluto_hook_features§cell_id$06d6f45a-3783-4b31-8926-ff0973bcc188depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8queued¤logsrunning¦outputbodymsgUndefVarError: vals not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#df2571b4-f42f-4609-be1f-0d5ae2dd0fb8source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#df2571b4-f42f-4609-be1f-0d5ae2dd0fb8functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$c646e383-aebc-43ea-9c61-542166e5e455queued¤logsrunning¦outputbodymsgUndefVarError: Dump not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#c646e383-aebc-43ea-9c61-542166e5e455source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#c646e383-aebc-43ea-9c61-542166e5e455functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$c646e383-aebc-43ea-9c61-542166e5e455depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$dd5f2f46-f2f4-441b-b855-f6814a5b5b98queued¤logsrunning¦outputbody-<div class="markdown"><h1>Combine</h1>
</div>mimetext/htmlrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$dd5f2f46-f2f4-441b-b855-f6814a5b5b98depends_on_disabled_cells§runtime bpublished_object_keysdepends_on_skipped_cells§errored$321969fb-ff25-4a74-a23e-0b2a761050e7queued¤logsrunning¦outputbodymissingmimetext/plainrootassigneelast_run_timestampA\persist_js_state·has_pluto_hook_features§cell_id$321969fb-ff25-4a74-a23e-0b2a761050e7depends_on_disabled_cells§runtime;published_object_keysdepends_on_skipped_cells§errored$fab701a7-7a70-4cc5-a1ad-a143b9125becqueued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA/ persist_js_state·has_pluto_hook_features§cell_id$fab701a7-7a70-4cc5-a1ad-a143b9125becdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$9919ed90-ba6d-48d6-8f73-b9b509e88843queued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneecalast_run_timestampA5ưpersist_js_state·has_pluto_hook_features§cell_id$9919ed90-ba6d-48d6-8f73-b9b509e88843depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$37112cd7-4f1c-4d7b-8531-59a74db71451queued¤logsrunning¦outputbody<div class="pluto-docs-binding">
<span id="combine">combine</span>
<div class="markdown"><pre><code class="language-julia">PlutoUI.combine&#40;render_function::Function&#41;</code></pre>
<p>Combine multiple input elements into one. The combined values are sent to <code>@bind</code> as a single tuple.</p>
<p><code>render_function</code> is a function that you write yourself, take a look at the examples below.</p>
<h1>Examples</h1>
<h2>🐶 &amp; 🐱</h2>
<p>We use the <a href="https://docs.julialang.org/en/v1/manual/functions/#Do-Block-Syntax-for-Function-Arguments"><code>do</code> syntax</a> to write our <code>render_function</code>. The <code>Child</code> function is wrapped around each input, to let <code>combine</code> know which values to combine.</p>
<pre><code class="language-julia">@bind values PlutoUI.combine&#40;&#41; do Child
	md&quot;&quot;&quot;
	# Hi there&#33;

	I have &#36;&#40;
		Child&#40;Slider&#40;1:10&#41;&#41;
	&#41; dogs and &#36;&#40;
		Child&#40;Slider&#40;5:100&#41;&#41;
	&#41; cats.

	Would you like to see them? &#36;&#40;Child&#40;CheckBox&#40;true&#41;&#41;&#41;
	&quot;&quot;&quot;
end

values &#61;&#61; &#40;1, 5, true&#41; # &#40;initially&#41;</code></pre>
<blockquote>
<p>The output looks like:</p>
<p><img src="https://user-images.githubusercontent.com/6933510/145589918-25a3c732-c02e-482b-831b-06131b283597.png" alt="screenshot of running the code above inside Pluto" /></p>
</blockquote>
<h2>🎏</h2>
<p>The <code>combine</code> function is most useful when you want to generate your input elements <em>dynamically</em>. This example uses <a href="https://github.com/MechanicalRabbit/HypertextLiteral.jl">HypertextLiteral.jl</a> for the <code>@htl</code> macro:</p>
<pre><code class="language-julia">function wind_speeds&#40;directions&#41;
	PlutoUI.combine&#40;&#41; do Child
		@htl&#40;&quot;&quot;&quot;
		&lt;h6&gt;Wind speeds&lt;/h6&gt;
		&lt;ul&gt;
		&#36;&#40;&#91;
			@htl&#40;&quot;&lt;li&gt;&#36;&#40;name&#41;: &#36;&#40;Child&#40;Slider&#40;1:100&#41;&#41;&#41;&lt;/li&gt;&quot;&#41;
			for name in directions
		&#93;&#41;
		&lt;/ul&gt;
		&quot;&quot;&quot;&#41;
	end
end

@bind speeds wind_speeds&#40;&#91;&quot;North&quot;, &quot;East&quot;, &quot;South&quot;, &quot;West&quot;&#93;&#41;

speeds &#61;&#61; &#40;1, 1, 1, 1&#41; # &#40;initially&#41;

# after moving the sliders:
speeds &#61;&#61; &#40;100, 36, 73, 60&#41;</code></pre>
<blockquote>
<p>The output looks like:</p>
<p><img src="https://user-images.githubusercontent.com/6933510/145588612-14824654-5c73-45f8-983c-8913c7101a78.png" alt="screenshot of running the code above inside Pluto" /></p>
</blockquote>
<h1>Named variant</h1>
<p>In the last example, we used <code>Child</code> to wrap around contained inputs:</p>
<pre><code class="language-julia">Child&#40;Slider&#40;1:100&#41;&#41;</code></pre>
<p>We can also use the <strong>named variant</strong>, which looks like:</p>
<pre><code class="language-julia">Child&#40;&quot;East&quot;, Slider&#40;1:100&#41;&#41;</code></pre>
<p>When you use the <em>named variant</em> for all children, <strong>the bound value will be <code>NamedTuple</code>, instead of a <code>Tuple</code></strong>.</p>
<p>Let&#39;s rewrite our example to use the <em>named variant</em>:</p>
<pre><code class="language-julia">function wind_speeds&#40;directions&#41;
	PlutoUI.combine&#40;&#41; do Child
		@htl&#40;&quot;&quot;&quot;
		&lt;h6&gt;Wind speeds&lt;/h6&gt;
		&lt;ul&gt;
		&#36;&#40;&#91;
			@htl&#40;&quot;&lt;li&gt;&#36;&#40;name&#41;: &#36;&#40;Child&#40;name, Slider&#40;1:100&#41;&#41;&#41;&lt;/li&gt;&quot;&#41;
			for name in directions
		&#93;&#41;
		&lt;/ul&gt;
		&quot;&quot;&quot;&#41;
	end
end

@bind speeds wind_speeds&#40;&#91;&quot;North&quot;, &quot;East&quot;, &quot;South&quot;, &quot;West&quot;&#93;&#41;

speeds &#61;&#61; &#40;North&#61;1, East&#61;1, South&#61;1, West&#61;1&#41; # &#40;initially&#41;

# after moving the sliders:
speeds &#61;&#61; &#40;North&#61;100, East&#61;36, South&#61;73, West&#61;60&#41;

md&quot;The Eastern wind speed is &#36;&#40;speeds.East&#41;.&quot;</code></pre>
<blockquote>
<p>The output looks like:</p>
<p><img src="https://user-images.githubusercontent.com/6933510/145615489-b3fb910d-0dc1-408b-882f-b05ca0129b18.gif" alt="screenshot of running the code above inside Pluto" /></p>
</blockquote>
<h1>Why?</h1>
<h2>You can make a new widget&#33;</h2>
<p>You can use <code>combine</code> to <strong>create a brand new widget</strong> yourself, by combining existing ones&#33;</p>
<p>In the example above, we created a new widget called <code>wind_speeds</code>. You could <strong>put this function in a package</strong> &#40;e.g. <code>WeatherUI.jl</code>&#41; and people could use it like so:</p>
<pre><code class="language-julia">import WeatherUI: wind_speeds

@bind speeds wind_speeds&#40;&#91;&quot;North&quot;, &quot;East&quot;&#93;&#41;</code></pre>
<p>In other words: you can use <code>combine</code> to create application-specific UI elements, and you can put those in your package&#33;</p>
<h2>Difference with repeated <code>@bind</code></h2>
<p>The standard way to combine multiple inputs into one output is to use <code>@bind</code> multiple times. Our initial example could more easily be written as:</p>
<pre><code class="language-julia">md&quot;&quot;&quot;
# Hi there&#33;

I have &#36;&#40;@bind num_dogs Slider&#40;1:10&#41;&#41; dogs and &#36;&#40;@bind num_cats Slider&#40;5:10&#41;&#41; cats.

Would you like to see them? &#36;&#40;@bind want_to_see CheckBox&#40;true&#41;&#41;
&quot;&quot;&quot;</code></pre>
<p>The <code>combine</code> function is useful when you are generating inputs <strong>dynamically</strong>, like in our second example. This is useful when:</p>
<ul>
<li><p>The number of parameters is very large, and you don&#39;t want to write <code>@bind parameter1 ...</code>, <code>@bind parameter2 ...</code>, etc. </p>
</li>
<li><p>The number of parameters is dynamic&#33; For example, you can load in a table in one cell, and then use <code>combine</code> in another cell to select which rows you want to use.</p>
</li>
</ul>


</div>
</div>
mimetext/htmlrootassigneelast_run_timestampAӱ:persist_js_state·has_pluto_hook_features§cell_id$37112cd7-4f1c-4d7b-8531-59a74db71451depends_on_disabled_cells§runtime Xpublished_object_keysdepends_on_skipped_cells§errored$a0ae55eb-5c18-451a-896d-325f09dba6cdqueued¤logsrunning¦outputbodymsgٜArgumentError: Package HypertextLiteral not found in current path:
- Run `import Pkg; Pkg.add("HypertextLiteral")` to install the HypertextLiteral package.
stacktracecall_short"require(into::Module, mod::Symbol)inlined£urlehttps://github.com/JuliaLang/julia/tree/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/loading.jl#L959path./loading.jlsource_packagecall"require(into::Module, mod::Symbol)linfo_typeCore.MethodInstancelineǤfileloading.jlfuncrequireparent_modulefrom_ccall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#a0ae55eb-5c18-451a-896d-325f09dba6cdsource_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#a0ae55eb-5c18-451a-896d-325f09dba6cdfunctop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA¶persist_js_state·has_pluto_hook_features§cell_id$a0ae55eb-5c18-451a-896d-325f09dba6cddepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$1fb3f5f0-6baf-418c-84bf-507579adb8bequeued¤logsrunning¦outputbodymsg#UndefVarError: _combine not definedstacktracecall_short[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})inlined£url٣https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149pathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451source_packagecall[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})linfo_typeCore.MethodInstanceline̕fileDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451func#combine#3parent_modulefrom_ccall_shortcombine(f::Function)inlined£url٣https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149pathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451source_packagecallcombine(f::Function)linfo_typeCore.MethodInstanceline̕fileDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451funccombineparent_modulefrom_ccall_shortmacro expansioninlinedãurlpathv/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/bonds.jl#@#==#1fb3f5f0-6baf-418c-84bf-507579adb8besource_packagecallmacro expansionlinfo_typeNothingline}file2bonds.jl#@#==#1fb3f5f0-6baf-418c-84bf-507579adb8befuncmacro expansionparent_modulefrom_ccall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#1fb3f5f0-6baf-418c-84bf-507579adb8besource_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#1fb3f5f0-6baf-418c-84bf-507579adb8befunctop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAFpersist_js_state·has_pluto_hook_features§cell_id$1fb3f5f0-6baf-418c-84bf-507579adb8bedepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$7a4716c5-07e3-49bc-bbcb-1cc38f58a053queued¤logsrunning¦outputbodyC<div class="markdown"><h3>Initial value &amp; transform</h3>
</div>mimetext/htmlrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$7a4716c5-07e3-49bc-bbcb-1cc38f58a053depends_on_disabled_cells§runtime ~published_object_keysdepends_on_skipped_cells§errored$8a1b06d4-29fa-443d-a7c2-f7705f770cacqueued¤logsrunning¦outputbody<<div class="markdown"><h3>Combine inside combine</h3>
</div>mimetext/htmlrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$8a1b06d4-29fa-443d-a7c2-f7705f770cacdepends_on_disabled_cells§runtime <published_object_keysdepends_on_skipped_cells§errored$d4a52691-6c69-4726-a119-499d6fb77fc1queued¤logsrunning¦outputbodyB<div class="pluto-docs-binding">
<span id="@skip_as_script">@skip_as_script</span>
<div class="markdown"><pre><code>@skip_as_script expression</code></pre>
<p>Marks a expression as Pluto-only, which means that it won&#39;t be executed when running outside Pluto. Do not use this for your own projects.</p>


</div>
</div>
mimetext/htmlrootassigneelast_run_timestampA persist_js_state·has_pluto_hook_features§cell_id$d4a52691-6c69-4726-a119-499d6fb77fc1depends_on_disabled_cells§runtime MUpublished_object_keysdepends_on_skipped_cells§errored$e2234e7f-dbe1-4f95-9b51-04d20487f46aqueued¤logsrunning¦outputbodytruemimetext/plainrootassigneelast_run_timestampAYpersist_js_state·has_pluto_hook_features§cell_id$e2234e7f-dbe1-4f95-9b51-04d20487f46adepends_on_disabled_cells§runtime+published_object_keysdepends_on_skipped_cells§errored$8fb86e46-9b31-46a9-9bde-ad263f1bae8equeued¤logsrunning¦outputbody5<div class="markdown"><h1>Combining bonds</h1>
</div>mimetext/htmlrootassigneelast_run_timestampA/persist_js_state·has_pluto_hook_features§cell_id$8fb86e46-9b31-46a9-9bde-ad263f1bae8edepends_on_disabled_cells§runtime }6published_object_keysdepends_on_skipped_cells§errored$f712f428-6da4-497d-85fe-a52069c8e294queued¤logsrunning¦outputbody<div class="pluto-docs-binding">
<span id="RenderCallback">RenderCallback</span>
<div class="markdown"><pre><code class="language-julia">RenderCallback&#40;callback::Function, x::Any&#41;</code></pre>
<p>An HTML display passthrough of <code>x</code> &#40;displays the same content&#41;, but when it is displayed, a callback function is invoked. <code>disable_callback&#33;</code> can remove a callback.</p>


</div>
</div>
mimetext/htmlrootassigneelast_run_timestampARpersist_js_state·has_pluto_hook_features§cell_id$f712f428-6da4-497d-85fe-a52069c8e294depends_on_disabled_cells§runtime 'aֵpublished_object_keysdepends_on_skipped_cells§errored$4ada86e7-e310-471d-af45-f99310b6e223queued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA,ʰpersist_js_state·has_pluto_hook_features§cell_id$4ada86e7-e310-471d-af45-f99310b6e223depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$addf4a56-5d85-4b5c-b956-8acacad79e5equeued¤logsrunning¦outputbodymsg"UndefVarError: ☎️c not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#addf4a56-5d85-4b5c-b956-8acacad79e5esource_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#addf4a56-5d85-4b5c-b956-8acacad79e5efunctop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA1g^persist_js_state·has_pluto_hook_features§cell_id$addf4a56-5d85-4b5c-b956-8acacad79e5edepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$76b5f036-6b70-4605-9063-f405b6b701fdqueued¤logsrunning¦outputbody<div class="markdown"><h1>TODO</h1>
<ul>
<li><p>get secret_id from last Combine</p>
</li>
<li><p>get last Combine, ideally during constructor</p>
</li>
<li><p>get last bond value, during constructor or intial_value</p>
</li>
</ul>
<p>Maybe</p>
<pre><code class="language-julia">Bonds.incorporate_last_bond&#40;
	just_created::T, 
	previous::T, 
	previous_value_from_js::Any
&#41;::T
</code></pre>
<p>with default <code>&#40;a,b&#41;-&gt;a</code></p>
</div>mimetext/htmlrootassigneelast_run_timestampA@persist_js_state·has_pluto_hook_features§cell_id$76b5f036-6b70-4605-9063-f405b6b701fddepends_on_disabled_cells§runtime 60published_object_keysdepends_on_skipped_cells§errored$0691aa89-eac7-426e-a5c5-3cbd131f929bqueued¤logsrunning¦outputbodyfalsemimetext/plainrootassigneelast_run_timestampAIװpersist_js_state·has_pluto_hook_features§cell_id$0691aa89-eac7-426e-a5c5-3cbd131f929bdepends_on_disabled_cells§runtimeApublished_object_keysdepends_on_skipped_cells§errored$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91queued¤logsrunning¦outputbody/skip_as_script (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91depends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$68197884-858c-4f0c-b858-4f7f3b081ddcqueued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneehblast_run_timestampASpersist_js_state·has_pluto_hook_features§cell_id$68197884-858c-4f0c-b858-4f7f3b081ddcdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$ec0eb9eb-6716-4648-b7c7-203bd71fa64fqueued¤logsrunning¦outputbodymsg!UndefVarError: Slider not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#ec0eb9eb-6716-4648-b7c7-203bd71fa64fsource_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#ec0eb9eb-6716-4648-b7c7-203bd71fa64ffunctop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAOpersist_js_state·has_pluto_hook_features§cell_id$ec0eb9eb-6716-4648-b7c7-203bd71fa64fdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$2c2036bd-2cea-4fe0-9f44-a6522826fdc3queued¤logsrunning¦outputbody(values (generic function with 5 methods)mimetext/plainrootassigneelast_run_timestampA@persist_js_state·has_pluto_hook_features§cell_id$2c2036bd-2cea-4fe0-9f44-a6522826fdc3depends_on_disabled_cells§runtime,published_object_keysdepends_on_skipped_cells§errored$b4409bf0-75fd-4745-b686-079193900c27queued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA)c԰persist_js_state·has_pluto_hook_features§cell_id$b4409bf0-75fd-4745-b686-079193900c27depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$8d1c2e47-3252-4e7b-9940-3c843e520cc6queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampA>* persist_js_state·has_pluto_hook_features§cell_id$8d1c2e47-3252-4e7b-9940-3c843e520cc6depends_on_disabled_cells§runtime õpublished_object_keysdepends_on_skipped_cells§errored$231442e3-a1bc-4285-8c23-045a9bb60d67queued¤logsrunning¦outputbodymsg UndefVarError: it2vs not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#231442e3-a1bc-4285-8c23-045a9bb60d67source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#231442e3-a1bc-4285-8c23-045a9bb60d67functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA+ persist_js_state·has_pluto_hook_features§cell_id$231442e3-a1bc-4285-8c23-045a9bb60d67depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$45986edf-1a65-4712-91b9-b79a408e0782queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$45986edf-1a65-4712-91b9-b79a408e0782depends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8equeued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8edepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$5590c2db-b49f-4116-a8a9-4ebab576e79cqueued¤logsrunning¦outputbody/<div class="markdown"><h2>The magic</h2>
</div>mimetext/htmlrootassigneelast_run_timestampAApersist_js_state·has_pluto_hook_features§cell_id$5590c2db-b49f-4116-a8a9-4ebab576e79cdepends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$5366270a-4f63-4d8a-bc4f-de36c0895a8bqueued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA⮫persist_js_state·has_pluto_hook_features§cell_id$5366270a-4f63-4d8a-bc4f-de36c0895a8bdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$c527b5f8-de42-4b96-9542-3bcc0a13372dqueued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampABpersist_js_state·has_pluto_hook_features§cell_id$c527b5f8-de42-4b96-9542-3bcc0a13372ddepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$6533a616-d778-4870-98b2-445a48f6d145queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAjӰpersist_js_state·has_pluto_hook_features§cell_id$6533a616-d778-4870-98b2-445a48f6d145depends_on_disabled_cells§runtime#published_object_keysdepends_on_skipped_cells§errored$d71251ee-ceaf-46e5-b93d-82472ee08b00queued¤logsrunning¦outputbodymsg!UndefVarError: Slider not definedstacktracecall_shortmacro expansioninlinedãurlpathv/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/bonds.jl#@#==#d71251ee-ceaf-46e5-b93d-82472ee08b00source_packagecallmacro expansionlinfo_typeNothingline}file2bonds.jl#@#==#d71251ee-ceaf-46e5-b93d-82472ee08b00funcmacro expansionparent_modulefrom_ccall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#d71251ee-ceaf-46e5-b93d-82472ee08b00source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#d71251ee-ceaf-46e5-b93d-82472ee08b00functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAzxpersist_js_state·has_pluto_hook_features§cell_id$d71251ee-ceaf-46e5-b93d-82472ee08b00depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$3c46ef54-0260-4269-b917-d14ce98a83f7queued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneehalast_run_timestampARpersist_js_state·has_pluto_hook_features§cell_id$3c46ef54-0260-4269-b917-d14ce98a83f7depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$afc4a320-575a-4660-977b-51804160d334queued¤logsrunning¦outputbodymsg&UndefVarError: NumberField not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#afc4a320-575a-4660-977b-51804160d334source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#afc4a320-575a-4660-977b-51804160d334functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAM]persist_js_state·has_pluto_hook_features§cell_id$afc4a320-575a-4660-977b-51804160d334depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$25d15bbe-e29b-4383-ae47-d3ee744f80edqueued¤logsrunning¦outputbodymsgٮArgumentError: Package AbstractPlutoDingetjes not found in current path:
- Run `import Pkg; Pkg.add("AbstractPlutoDingetjes")` to install the AbstractPlutoDingetjes package.
stacktracecall_short"require(into::Module, mod::Symbol)inlined£urlehttps://github.com/JuliaLang/julia/tree/742b9abb4dd4621b667ec5bb3434b8b3602f96fd/base/loading.jl#L959path./loading.jlsource_packagecall"require(into::Module, mod::Symbol)linfo_typeCore.MethodInstancelineǤfileloading.jlfuncrequireparent_modulefrom_ccall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#25d15bbe-e29b-4383-ae47-d3ee744f80edsource_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#25d15bbe-e29b-4383-ae47-d3ee744f80edfunctop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAэpersist_js_state·has_pluto_hook_features§cell_id$25d15bbe-e29b-4383-ae47-d3ee744f80eddepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fqueued¤logsrunning¦outputbodymsgUndefVarError: ca not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fsource_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106ffunctop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA\persist_js_state·has_pluto_hook_features§cell_id$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$b338de96-b108-4cf5-921c-4ec71c4ee498queued¤logsrunning¦outputbodyn<div class="markdown"><p>Should be <code>&#91;&#91;missing, sin&#93;, &#91;50, sin&#93;&#93;</code></p>
</div>mimetext/htmlrootassigneelast_run_timestampA0persist_js_state·has_pluto_hook_features§cell_id$b338de96-b108-4cf5-921c-4ec71c4ee498depends_on_disabled_cells§runtime Պpublished_object_keysdepends_on_skipped_cells§errored$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0queued¤logsrunning¦outputbodymsgUndefVarError: ha not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#aed9e41b-8e9c-41b5-83f0-7cabb7feaab0source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#aed9e41b-8e9c-41b5-83f0-7cabb7feaab0functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAURapersist_js_state·has_pluto_hook_features§cell_id$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$0ac40588-fd45-4eef-89f1-b3552d0246a2queued¤logsrunning¦outputbodymsg#UndefVarError: _combine not definedstacktracecall_short[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})inlined£url٣https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149pathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451source_packagecall[combine(f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})linfo_typeCore.MethodInstanceline̕fileDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451func#combine#3parent_modulefrom_ccall_shortcombine(f::Function)inlined£url٣https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451#L149pathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451source_packagecallcombine(f::Function)linfo_typeCore.MethodInstanceline̕fileDpersistent combine values.jl#==#37112cd7-4f1c-4d7b-8531-59a74db71451funccombineparent_modulefrom_ccall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#0ac40588-fd45-4eef-89f1-b3552d0246a2source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#0ac40588-fd45-4eef-89f1-b3552d0246a2functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassignee@skip_as_script cb1last_run_timestampA5persist_js_state·has_pluto_hook_features§cell_id$0ac40588-fd45-4eef-89f1-b3552d0246a2depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$ef6358be-4d53-42f0-8501-f7d7d3838781queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampA}persist_js_state·has_pluto_hook_features§cell_id$ef6358be-4d53-42f0-8501-f7d7d3838781depends_on_disabled_cells§runtime KIpublished_object_keysdepends_on_skipped_cells§errored$ebedad7d-764b-4eb1-9e6d-559a3c033cd0queued¤logsrunning¦outputbodyprefixSymbolelements:fonstext/plain:hannestext/plain:asdf_dsfsdftext/plaintypeArrayprefix_shortobjectid11fcc4b242746587mime!application/vnd.pluto.tree+objectrootassigneeall_nameslast_run_timestampAKpersist_js_state·has_pluto_hook_features§cell_id$ebedad7d-764b-4eb1-9e6d-559a3c033cd0depends_on_disabled_cells§runtimeCZpublished_object_keysdepends_on_skipped_cells§errored$814502c7-e9e7-4401-8465-fd11c2807e07queued¤logsrunning¦outputbodymsg'UndefVarError: speeds_named not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#814502c7-e9e7-4401-8465-fd11c2807e07source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#814502c7-e9e7-4401-8465-fd11c2807e07functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA-persist_js_state·has_pluto_hook_features§cell_id$814502c7-e9e7-4401-8465-fd11c2807e07depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281queued¤logsrunning¦outputbodymsgUndefVarError: itvs not definedstacktracecall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#f061b4d3-dc3d-444c-a4d7-9e1f6d32f281source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#f061b4d3-dc3d-444c-a4d7-9e1f6d32f281functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA.`persist_js_state·has_pluto_hook_features§cell_id$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$19a66a5a-fcd6-44dc-80de-c6c70674728bqueued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneecblast_run_timestampA)gpersist_js_state·has_pluto_hook_features§cell_id$19a66a5a-fcd6-44dc-80de-c6c70674728bdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$7e9e418a-399e-4122-aab3-5f9d96e66301queued¤logsrunning¦outputbody;<bond def="asdfsdf" unique_id="n6yluUQbwXZ/"><input></bond>mimetext/htmlrootassigneelast_run_timestampAuDpersist_js_state·has_pluto_hook_features§cell_id$7e9e418a-399e-4122-aab3-5f9d96e66301depends_on_disabled_cells§runtime,published_object_keysdepends_on_skipped_cells§errored$8d1f6bd1-2d69-4685-8590-c5f93ef9b669queued¤logsrunning¦outputbodymsg(UndefVarError: MultiCheckBox not definedstacktracecall_shortmacro expansioninlinedãurlpathv/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/bonds.jl#@#==#8d1f6bd1-2d69-4685-8590-c5f93ef9b669source_packagecallmacro expansionlinfo_typeNothingline}file2bonds.jl#@#==#8d1f6bd1-2d69-4685-8590-c5f93ef9b669funcmacro expansionparent_modulefrom_ccall_shorttop-level scopeinlined£urlpathz/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jl#==#8d1f6bd1-2d69-4685-8590-c5f93ef9b669source_packagecalltop-level scopelinfo_typeCore.CodeInfolinefileDpersistent combine values.jl#==#8d1f6bd1-2d69-4685-8590-c5f93ef9b669functop-level scopeparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAǰpersist_js_state·has_pluto_hook_features§cell_id$8d1f6bd1-2d69-4685-8590-c5f93ef9b669depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$0a47600f-62a6-4f75-bf30-7c9f45426ce1queued¤logsrunning¦outputbody.<div class="markdown"><h2>Examples</h2>
</div>mimetext/htmlrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$0a47600f-62a6-4f75-bf30-7c9f45426ce1depends_on_disabled_cells§runtime yKpublished_object_keysdepends_on_skipped_cells§errored$4b4f5148-4bb5-4c91-811b-f822f7d403c4queued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAX+|persist_js_state·has_pluto_hook_features§cell_id$4b4f5148-4bb5-4c91-811b-f822f7d403c4depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$dbae3ed0-3e25-4878-bbc2-b11d480689bcqueued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAɎPpersist_js_state·has_pluto_hook_features§cell_id$dbae3ed0-3e25-4878-bbc2-b11d480689bcdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$24aa7b61-1c22-4d84-b19c-4ead65ae4615queued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA$persist_js_state·has_pluto_hook_features§cell_id$24aa7b61-1c22-4d84-b19c-4ead65ae4615depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$33abfc8f-1590-45cd-9d3d-6a4cf211988dqueued¤logsrunning¦outputbodymsgUndefVarError: @htl not definedstacktracecall_shorttop-level scopeinlined£urlpathsource_packagecalltop-level scopelinfo_typeNothingline filefunctop-level scopeparent_modulefrom_ccall_short#macroexpand#51inlinedãurlpath./expr.jlsource_packagecall#macroexpand#51linfo_typeNothinglinesfileexpr.jlfunc#macroexpand#51parent_modulefrom_ccall_shortmacroexpandinlinedãurlpath./expr.jlsource_packagecallmacroexpandlinfo_typeNothinglinerfileexpr.jlfuncmacroexpandparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampA"persist_js_state·has_pluto_hook_features§cell_id$33abfc8f-1590-45cd-9d3d-6a4cf211988ddepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$9bbe9030-86ae-490f-ae97-317ee3f05f47queued¤logsrunning¦outputbody+<div class="markdown"><h2>Tests</h2>
</div>mimetext/htmlrootassigneelast_run_timestampApersist_js_state·has_pluto_hook_features§cell_id$9bbe9030-86ae-490f-ae97-317ee3f05f47depends_on_disabled_cells§runtime n/published_object_keysdepends_on_skipped_cells§errored±cell_dependencies M$a10d59e8-8dae-4796-a88b-4907437164f5precedence_heuristic	cell_id$a10d59e8-8dae-4796-a88b-4907437164f5downstream_cells_mapBase.show$f712f428-6da4-497d-85fe-a52069c8e294$dbae3ed0-3e25-4878-bbc2-b11d480689bc$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aParameters$a10d59e8-8dae-4796-a88b-4907437164f5upstream_cells_mapBaseIOParameters$a10d59e8-8dae-4796-a88b-4907437164f5@MIME_strSymbolVector$3b18aa3a-4521-4b4c-9500-a5f95003aed5precedence_heuristic	cell_id$3b18aa3a-4521-4b4c-9500-a5f95003aed5downstream_cells_mapcb2b$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9awowz$8143e4f0-8d66-4c64-9b4c-68954167e803upstream_cells_map@md_strBase.getindex#PlutoRunner.PlutoRunner.create_bond@bind@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1BasePlutoRunnerCheckBoxPlutoRunner.Base.getcb1$0ac40588-fd45-4eef-89f1-b3552d0246a2combine$37112cd7-4f1c-4d7b-8531-59a74db71451PlutoRunner.Core.applicable$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aprecedence_heuristic	cell_id$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146adownstream_cells_map'render_hmtl_with_pluto_display_features$accefce9-8508-495f-bb5e-6d3446e0c9a6upstream_cells_map@docTupleIOContext#___this_pluto_module_name@MIME_strAny=>BaseBase.show$a10d59e8-8dae-4796-a88b-4907437164f5$f712f428-6da4-497d-85fe-a52069c8e294$dbae3ed0-3e25-4878-bbc2-b11d480689bcAbstractPlutoDingetjes$25d15bbe-e29b-4383-ae47-d3ee744f80edsprintUnion$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9aprecedence_heuristic	cell_id$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9adownstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1cb2b$3b18aa3a-4521-4b4c-9500-a5f95003aed5$dcb4786a-930a-4e8a-860a-a12c7e8726c6precedence_heuristic	cell_id$dcb4786a-930a-4e8a-860a-a12c7e8726c6downstream_cells_mapupstream_cells_map===hb$68197884-858c-4f0c-b858-4f7f3b081ddcha$3c46ef54-0260-4269-b917-d14ce98a83f7$28e73db2-6c80-44c5-94cd-d5a2cc7cd935precedence_heuristic	cell_id$28e73db2-6c80-44c5-94cd-d5a2cc7cd935downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1@bind@htl$7f70715b-b13c-4b72-93c3-5c2c4334b809precedence_heuristic	cell_id$7f70715b-b13c-4b72-93c3-5c2c4334b809downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1☎️push!☎️s$4650374e-dae2-46cb-ba91-50200621bf08precedence_heuristic	cell_id$4650374e-dae2-46cb-ba91-50200621bf08downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1rb$0605a0c5-1329-4e9b-916d-c74a132598e0precedence_heuristic	cell_id$0605a0c5-1329-4e9b-916d-c74a132598e0downstream_cells_map@only_as_scriptupstream_cells_mapesc__module__skip_as_script$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91nothing$5ac241dc-7d04-46a5-943e-6830f745e798precedence_heuristic	cell_id$5ac241dc-7d04-46a5-943e-6830f745e798downstream_cells_mapupstream_cells_map==Scrubbable$8143e4f0-8d66-4c64-9b4c-68954167e803precedence_heuristic	cell_id$8143e4f0-8d66-4c64-9b4c-68954167e803downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1wowz$3b18aa3a-4521-4b4c-9500-a5f95003aed5$a570d7ef-72e5-49dd-92bd-e3925c896a23precedence_heuristic	cell_id$a570d7ef-72e5-49dd-92bd-e3925c896a23downstream_cells_mapupstream_cells_maphashca$9919ed90-ba6d-48d6-8f73-b9b509e88843cb$19a66a5a-fcd6-44dc-80de-c6c70674728b$8335ad24-3ff8-4a74-862f-13a710d4acf8precedence_heuristic	cell_id$8335ad24-3ff8-4a74-862f-13a710d4acf8downstream_cells_mapupstream_cells_map:==Scrubbable$87796357-5df1-4a7a-928a-5df3527b956fprecedence_heuristiccell_id$87796357-5df1-4a7a-928a-5df3527b956fdownstream_cells_mapupstream_cells_mapPkg$32ab1f69-9e16-45ad-b44d-895a564178f4Pkg.activate$accefce9-8508-495f-bb5e-6d3446e0c9a6precedence_heuristic	cell_id$accefce9-8508-495f-bb5e-6d3446e0c9a6downstream_cells_map_combine$37112cd7-4f1c-4d7b-8531-59a74db71451upstream_cells_map @assertCombinedBondstupleString@htl'render_hmtl_with_pluto_display_features$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146anothinglengththrowAssertionErrorisempty==:BoolrandFunctionSymboldisable_callback!$f712f428-6da4-497d-85fe-a52069c8e294push!HTMLUnionRenderCallback$f712f428-6da4-497d-85fe-a52069c8e294$32ab1f69-9e16-45ad-b44d-895a564178f4precedence_heuristiccell_id$32ab1f69-9e16-45ad-b44d-895a564178f4downstream_cells_mapPkg$87796357-5df1-4a7a-928a-5df3527b956fupstream_cells_map$aa01652d-7690-4462-8bae-2d77656abc8bprecedence_heuristic	cell_id$aa01652d-7690-4462-8bae-2d77656abc8bdownstream_cells_mapupstream_cells_mapPlutoRunnerPlutoRunner.throw_syntax_error$9b705730-a68a-450f-99a8-11b7d302ebe0precedence_heuristic	cell_id$9b705730-a68a-450f-99a8-11b7d302ebe0downstream_cells_mapupstream_cells_map===ca$9919ed90-ba6d-48d6-8f73-b9b509e88843cb$19a66a5a-fcd6-44dc-80de-c6c70674728b$290974ad-8c0a-48b6-a691-74ba7dc2b0f8precedence_heuristic	cell_id$290974ad-8c0a-48b6-a691-74ba7dc2b0f8downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1sleeptogether$5922807c-6e49-11ec-3c79-87e011cbf088precedence_heuristiccell_id$5922807c-6e49-11ec-3c79-87e011cbf088downstream_cells_mapPlutoUIupstream_cells_map$34cfe0dc-7bca-4c6f-99ce-96758ccbd3afprecedence_heuristic	cell_id$34cfe0dc-7bca-4c6f-99ce-96758ccbd3afdownstream_cells_mapset_input_value_compatupstream_cells_mapHypertextLiteral.JavaScriptHypertextLiteral$a0ae55eb-5c18-451a-896d-325f09dba6cd$172e4393-8b3e-434e-a20a-d7748214fc23precedence_heuristic	cell_id$172e4393-8b3e-434e-a20a-d7748214fc23downstream_cells_mapBonds$dbae3ed0-3e25-4878-bbc2-b11d480689bcupstream_cells_map$845513d0-eb02-4c6a-bee9-56054d212d71precedence_heuristic	cell_id$845513d0-eb02-4c6a-bee9-56054d212d71downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1speeds$06d6f45a-3783-4b31-8926-ff0973bcc188precedence_heuristic	cell_id$06d6f45a-3783-4b31-8926-ff0973bcc188downstream_cells_mapvals$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8upstream_cells_mapCoref$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8eBasePlutoRunner.create_bondPlutoRunnerCore.applicable@bindchosen_names$8d1f6bd1-2d69-4685-8590-c5f93ef9b669Base.get$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8precedence_heuristic	cell_id$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8downstream_cells_mapupstream_cells_mapvals$06d6f45a-3783-4b31-8926-ff0973bcc188$c646e383-aebc-43ea-9c61-542166e5e455precedence_heuristic	cell_id$c646e383-aebc-43ea-9c61-542166e5e455downstream_cells_mapupstream_cells_mapDumpca$9919ed90-ba6d-48d6-8f73-b9b509e88843$dd5f2f46-f2f4-441b-b855-f6814a5b5b98precedence_heuristic	cell_id$dd5f2f46-f2f4-441b-b855-f6814a5b5b98downstream_cells_mapupstream_cells_map@md_strgetindex$321969fb-ff25-4a74-a23e-0b2a761050e7precedence_heuristic	cell_id$321969fb-ff25-4a74-a23e-0b2a761050e7downstream_cells_mapupstream_cells_mapsleepasdfsdf$7e9e418a-399e-4122-aab3-5f9d96e66301$fab701a7-7a70-4cc5-a1ad-a143b9125becprecedence_heuristic	cell_id$fab701a7-7a70-4cc5-a1ad-a143b9125becdownstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1@bind@htl$9919ed90-ba6d-48d6-8f73-b9b509e88843precedence_heuristic	cell_id$9919ed90-ba6d-48d6-8f73-b9b509e88843downstream_cells_mapca$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f$9b705730-a68a-450f-99a8-11b7d302ebe0$a570d7ef-72e5-49dd-92bd-e3925c896a23$c646e383-aebc-43ea-9c61-542166e5e455upstream_cells_mapcombine$37112cd7-4f1c-4d7b-8531-59a74db71451@htl$37112cd7-4f1c-4d7b-8531-59a74db71451precedence_heuristic	cell_id$37112cd7-4f1c-4d7b-8531-59a74db71451downstream_cells_mapcombine$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8e$9919ed90-ba6d-48d6-8f73-b9b509e88843$19a66a5a-fcd6-44dc-80de-c6c70674728b$ef6358be-4d53-42f0-8501-f7d7d3838781$1fb3f5f0-6baf-418c-84bf-507579adb8be$0ac40588-fd45-4eef-89f1-b3552d0246a2$3b18aa3a-4521-4b4c-9500-a5f95003aed5upstream_cells_map@doc_combine$accefce9-8508-495f-bb5e-6d3446e0c9a6TupleUnion#___this_pluto_module_nameFunction$a0ae55eb-5c18-451a-896d-325f09dba6cdprecedence_heuristiccell_id$a0ae55eb-5c18-451a-896d-325f09dba6cddownstream_cells_mapHypertextLiteral$34cfe0dc-7bca-4c6f-99ce-96758ccbd3afupstream_cells_map$1fb3f5f0-6baf-418c-84bf-507579adb8beprecedence_heuristic	cell_id$1fb3f5f0-6baf-418c-84bf-507579adb8bedownstream_cells_mapvalues$2c2036bd-2cea-4fe0-9f44-a6522826fdc3upstream_cells_map@md_strBase.getindex:#PlutoRunner.PlutoRunner.create_bond@bindSlider@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1BasePlutoRunnerCheckBoxPlutoRunner.Base.getcombine$37112cd7-4f1c-4d7b-8531-59a74db71451PlutoRunner.Core.applicable$7a4716c5-07e3-49bc-bbcb-1cc38f58a053precedence_heuristic	cell_id$7a4716c5-07e3-49bc-bbcb-1cc38f58a053downstream_cells_mapupstream_cells_map@md_strgetindex$8a1b06d4-29fa-443d-a7c2-f7705f770cacprecedence_heuristic	cell_id$8a1b06d4-29fa-443d-a7c2-f7705f770cacdownstream_cells_mapupstream_cells_map@md_strgetindex$d4a52691-6c69-4726-a119-499d6fb77fc1precedence_heuristic	cell_id$d4a52691-6c69-4726-a119-499d6fb77fc1downstream_cells_map@skip_as_script $1fb3f5f0-6baf-418c-84bf-507579adb8be$2c2036bd-2cea-4fe0-9f44-a6522826fdc3$33abfc8f-1590-45cd-9d3d-6a4cf211988d$845513d0-eb02-4c6a-bee9-56054d212d71$c527b5f8-de42-4b96-9542-3bcc0a13372d$814502c7-e9e7-4401-8465-fd11c2807e07$28e73db2-6c80-44c5-94cd-d5a2cc7cd935$290974ad-8c0a-48b6-a691-74ba7dc2b0f8$4650374e-dae2-46cb-ba91-50200621bf08$b4409bf0-75fd-4745-b686-079193900c27$231442e3-a1bc-4285-8c23-045a9bb60d67$4ada86e7-e310-471d-af45-f99310b6e223$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281$fab701a7-7a70-4cc5-a1ad-a143b9125bec$addf4a56-5d85-4b5c-b956-8acacad79e5e$7f70715b-b13c-4b72-93c3-5c2c4334b809$0ac40588-fd45-4eef-89f1-b3552d0246a2$3b18aa3a-4521-4b4c-9500-a5f95003aed5$8143e4f0-8d66-4c64-9b4c-68954167e803$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9aupstream_cells_map@docTupleescUnion#___this_pluto_module_name__module__Anynothing$e2234e7f-dbe1-4f95-9b51-04d20487f46aprecedence_heuristic	cell_id$e2234e7f-dbe1-4f95-9b51-04d20487f46adownstream_cells_mapupstream_cells_map==$8fb86e46-9b31-46a9-9bde-ad263f1bae8eprecedence_heuristic	cell_id$8fb86e46-9b31-46a9-9bde-ad263f1bae8edownstream_cells_mapupstream_cells_map@md_strgetindex$f712f428-6da4-497d-85fe-a52069c8e294precedence_heuristic	cell_id$f712f428-6da4-497d-85fe-a52069c8e294downstream_cells_mapBase.show$f712f428-6da4-497d-85fe-a52069c8e294$dbae3ed0-3e25-4878-bbc2-b11d480689bc$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aRenderCallback$f712f428-6da4-497d-85fe-a52069c8e294$accefce9-8508-495f-bb5e-6d3446e0c9a6$5366270a-4f63-4d8a-bc4f-de36c0895a8b$24aa7b61-1c22-4d84-b19c-4ead65ae4615disable_callback!$accefce9-8508-495f-bb5e-6d3446e0c9a6$24aa7b61-1c22-4d84-b19c-4ead65ae4615upstream_cells_map@docIONothing#___this_pluto_module_name@MIME_strAnyFunctionnothingBaseBase.show$a10d59e8-8dae-4796-a88b-4907437164f5$f712f428-6da4-497d-85fe-a52069c8e294$dbae3ed0-3e25-4878-bbc2-b11d480689bc===UnionRef!==RenderCallback$f712f428-6da4-497d-85fe-a52069c8e294$4ada86e7-e310-471d-af45-f99310b6e223precedence_heuristic	cell_id$4ada86e7-e310-471d-af45-f99310b6e223downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1@bind@htl$addf4a56-5d85-4b5c-b956-8acacad79e5eprecedence_heuristic	cell_id$addf4a56-5d85-4b5c-b956-8acacad79e5edownstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1☎️c$76b5f036-6b70-4605-9063-f405b6b701fdprecedence_heuristic	cell_id$76b5f036-6b70-4605-9063-f405b6b701fddownstream_cells_mapupstream_cells_map@md_strgetindex$0691aa89-eac7-426e-a5c5-3cbd131f929bprecedence_heuristic	cell_id$0691aa89-eac7-426e-a5c5-3cbd131f929bdownstream_cells_mapupstream_cells_mapA$8d1c2e47-3252-4e7b-9940-3c843e520cc6==$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91precedence_heuristic	cell_id$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91downstream_cells_mapskip_as_script$0605a0c5-1329-4e9b-916d-c74a132598e0upstream_cells_mapModuleMainparentmodule==isdefined$68197884-858c-4f0c-b858-4f7f3b081ddcprecedence_heuristic	cell_id$68197884-858c-4f0c-b858-4f7f3b081ddcdownstream_cells_maphb$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0$dcb4786a-930a-4e8a-860a-a12c7e8726c6upstream_cells_map@htl$ec0eb9eb-6716-4648-b7c7-203bd71fa64fprecedence_heuristic	cell_id$ec0eb9eb-6716-4648-b7c7-203bd71fa64fdownstream_cells_mapupstream_cells_map:==Slider$2c2036bd-2cea-4fe0-9f44-a6522826fdc3precedence_heuristic	cell_id$2c2036bd-2cea-4fe0-9f44-a6522826fdc3downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1values$1fb3f5f0-6baf-418c-84bf-507579adb8be$b4409bf0-75fd-4745-b686-079193900c27precedence_heuristic	cell_id$b4409bf0-75fd-4745-b686-079193900c27downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1@bind@htl$8d1c2e47-3252-4e7b-9940-3c843e520cc6precedence_heuristic	cell_id$8d1c2e47-3252-4e7b-9940-3c843e520cc6downstream_cells_mapA$0691aa89-eac7-426e-a5c5-3cbd131f929bupstream_cells_map$231442e3-a1bc-4285-8c23-045a9bb60d67precedence_heuristic	cell_id$231442e3-a1bc-4285-8c23-045a9bb60d67downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1push!it2vit2vs$45986edf-1a65-4712-91b9-b79a408e0782precedence_heuristic	cell_id$45986edf-1a65-4712-91b9-b79a408e0782downstream_cells_mapupstream_cells_map$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8eprecedence_heuristic	cell_id$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8edownstream_cells_mapf$06d6f45a-3783-4b31-8926-ff0973bcc188upstream_cells_mapcombine$37112cd7-4f1c-4d7b-8531-59a74db71451@htl$5590c2db-b49f-4116-a8a9-4ebab576e79cprecedence_heuristic	cell_id$5590c2db-b49f-4116-a8a9-4ebab576e79cdownstream_cells_mapupstream_cells_map@md_strgetindex$5366270a-4f63-4d8a-bc4f-de36c0895a8bprecedence_heuristic	cell_id$5366270a-4f63-4d8a-bc4f-de36c0895a8bdownstream_cells_mapupstream_cells_mapRenderCallback$f712f428-6da4-497d-85fe-a52069c8e294@htlnothing$c527b5f8-de42-4b96-9542-3bcc0a13372dprecedence_heuristic	cell_id$c527b5f8-de42-4b96-9542-3bcc0a13372ddownstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1@bind@htl$6533a616-d778-4870-98b2-445a48f6d145precedence_heuristic	cell_id$6533a616-d778-4870-98b2-445a48f6d145downstream_cells_mapupstream_cells_map$d71251ee-ceaf-46e5-b93d-82472ee08b00precedence_heuristic	cell_id$d71251ee-ceaf-46e5-b93d-82472ee08b00downstream_cells_mapxupstream_cells_mapCoreBase:PlutoRunner.create_bondPlutoRunnerCore.applicable@bindBase.getSlider$3c46ef54-0260-4269-b917-d14ce98a83f7precedence_heuristic	cell_id$3c46ef54-0260-4269-b917-d14ce98a83f7downstream_cells_mapha$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0$dcb4786a-930a-4e8a-860a-a12c7e8726c6upstream_cells_map@htl$afc4a320-575a-4660-977b-51804160d334precedence_heuristic	cell_id$afc4a320-575a-4660-977b-51804160d334downstream_cells_mapupstream_cells_map:NumberField==$25d15bbe-e29b-4383-ae47-d3ee744f80edprecedence_heuristic	cell_id$25d15bbe-e29b-4383-ae47-d3ee744f80eddownstream_cells_mapAbstractPlutoDingetjes$dbae3ed0-3e25-4878-bbc2-b11d480689bc$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aupstream_cells_map$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fprecedence_heuristic	cell_id$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fdownstream_cells_mapupstream_cells_mapca$9919ed90-ba6d-48d6-8f73-b9b509e88843==cb$19a66a5a-fcd6-44dc-80de-c6c70674728b$b338de96-b108-4cf5-921c-4ec71c4ee498precedence_heuristic	cell_id$b338de96-b108-4cf5-921c-4ec71c4ee498downstream_cells_mapupstream_cells_map@md_strgetindex$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0precedence_heuristic	cell_id$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0downstream_cells_mapupstream_cells_maphb$68197884-858c-4f0c-b858-4f7f3b081ddcha$3c46ef54-0260-4269-b917-d14ce98a83f7==$0ac40588-fd45-4eef-89f1-b3552d0246a2precedence_heuristic	cell_id$0ac40588-fd45-4eef-89f1-b3552d0246a2downstream_cells_mapcb1$3b18aa3a-4521-4b4c-9500-a5f95003aed5upstream_cells_map@md_strBase.getindexBase:@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1combine$37112cd7-4f1c-4d7b-8531-59a74db71451SliderScrubbable$ef6358be-4d53-42f0-8501-f7d7d3838781precedence_heuristic	cell_id$ef6358be-4d53-42f0-8501-f7d7d3838781downstream_cells_mapupstream_cells_mapcombine$37112cd7-4f1c-4d7b-8531-59a74db71451$ebedad7d-764b-4eb1-9e6d-559a3c033cd0precedence_heuristic	cell_id$ebedad7d-764b-4eb1-9e6d-559a3c033cd0downstream_cells_mapall_names$8d1f6bd1-2d69-4685-8590-c5f93ef9b669upstream_cells_map$814502c7-e9e7-4401-8465-fd11c2807e07precedence_heuristic	cell_id$814502c7-e9e7-4401-8465-fd11c2807e07downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1speeds_named$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281precedence_heuristic	cell_id$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281downstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1push!itvsitv$19a66a5a-fcd6-44dc-80de-c6c70674728bprecedence_heuristic	cell_id$19a66a5a-fcd6-44dc-80de-c6c70674728bdownstream_cells_mapcb$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f$9b705730-a68a-450f-99a8-11b7d302ebe0$a570d7ef-72e5-49dd-92bd-e3925c896a23upstream_cells_mapcombine$37112cd7-4f1c-4d7b-8531-59a74db71451@htl$7e9e418a-399e-4122-aab3-5f9d96e66301precedence_heuristic	cell_id$7e9e418a-399e-4122-aab3-5f9d96e66301downstream_cells_mapasdfsdf$321969fb-ff25-4a74-a23e-0b2a761050e7upstream_cells_mapBasePlutoRunner.Base.get@html_str#PlutoRunner.PlutoRunner.create_bondPlutoRunnerBase.Docs.HTML@bindPlutoRunner.Core.applicable$8d1f6bd1-2d69-4685-8590-c5f93ef9b669precedence_heuristic	cell_id$8d1f6bd1-2d69-4685-8590-c5f93ef9b669downstream_cells_mapchosen_names$06d6f45a-3783-4b31-8926-ff0973bcc188upstream_cells_mapCoreBase:PlutoRunner.create_bondPlutoRunnerMultiCheckBoxCore.applicable@bindBase.getall_names$ebedad7d-764b-4eb1-9e6d-559a3c033cd0$0a47600f-62a6-4f75-bf30-7c9f45426ce1precedence_heuristic	cell_id$0a47600f-62a6-4f75-bf30-7c9f45426ce1downstream_cells_mapupstream_cells_map@md_strgetindex$4b4f5148-4bb5-4c91-811b-f822f7d403c4precedence_heuristic	cell_id$4b4f5148-4bb5-4c91-811b-f822f7d403c4downstream_cells_mapupstream_cells_map==@htl$dbae3ed0-3e25-4878-bbc2-b11d480689bcprecedence_heuristic	cell_id$dbae3ed0-3e25-4878-bbc2-b11d480689bcdownstream_cells_mapBonds.validate_valueBase.show$f712f428-6da4-497d-85fe-a52069c8e294$dbae3ed0-3e25-4878-bbc2-b11d480689bc$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146aBonds.transform_valueBonds.initial_value$dbae3ed0-3e25-4878-bbc2-b11d480689bcupstream_cells_map IO@assert!tupleCombinedBondszip@htlnothinglengthNamedTupleVectorBase.show$a10d59e8-8dae-4796-a88b-4907437164f5$f712f428-6da4-497d-85fe-a52069c8e294$dbae3ed0-3e25-4878-bbc2-b11d480689bcthrowAssertionError==.AbstractPlutoDingetjes.is_supported_by_display@MIME_strBase.@kwdefBonds.initial_value$dbae3ed0-3e25-4878-bbc2-b11d480689bcallisaBase===HTMLAbstractPlutoDingetjes$25d15bbe-e29b-4383-ae47-d3ee744f80edBonds$172e4393-8b3e-434e-a20a-d7748214fc23$24aa7b61-1c22-4d84-b19c-4ead65ae4615precedence_heuristic	cell_id$24aa7b61-1c22-4d84-b19c-4ead65ae4615downstream_cells_mapupstream_cells_mappush!@MIME_strreprRenderCallback$f712f428-6da4-497d-85fe-a52069c8e294@htldisable_callback!$f712f428-6da4-497d-85fe-a52069c8e294$33abfc8f-1590-45cd-9d3d-6a4cf211988dprecedence_heuristic	cell_id$33abfc8f-1590-45cd-9d3d-6a4cf211988ddownstream_cells_mapupstream_cells_map@skip_as_script$d4a52691-6c69-4726-a119-499d6fb77fc1@bind@htl$9bbe9030-86ae-490f-ae97-317ee3f05f47precedence_heuristic	cell_id$9bbe9030-86ae-490f-ae97-317ee3f05f47downstream_cells_mapupstream_cells_map@md_strgetindexcell_execution_order M$32ab1f69-9e16-45ad-b44d-895a564178f4$87796357-5df1-4a7a-928a-5df3527b956f$5922807c-6e49-11ec-3c79-87e011cbf088$a0ae55eb-5c18-451a-896d-325f09dba6cd$76b5f036-6b70-4605-9063-f405b6b701fd$d71251ee-ceaf-46e5-b93d-82472ee08b00$aa01652d-7690-4462-8bae-2d77656abc8b$ebedad7d-764b-4eb1-9e6d-559a3c033cd0$8d1f6bd1-2d69-4685-8590-c5f93ef9b669$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91$d4a52691-6c69-4726-a119-499d6fb77fc1$0605a0c5-1329-4e9b-916d-c74a132598e0$8d1c2e47-3252-4e7b-9940-3c843e520cc6$0691aa89-eac7-426e-a5c5-3cbd131f929b$a10d59e8-8dae-4796-a88b-4907437164f5$8335ad24-3ff8-4a74-862f-13a710d4acf8$afc4a320-575a-4660-977b-51804160d334$ec0eb9eb-6716-4648-b7c7-203bd71fa64f$5ac241dc-7d04-46a5-943e-6830f745e798$3c46ef54-0260-4269-b917-d14ce98a83f7$68197884-858c-4f0c-b858-4f7f3b081ddc$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0$dcb4786a-930a-4e8a-860a-a12c7e8726c6$4b4f5148-4bb5-4c91-811b-f822f7d403c4$e2234e7f-dbe1-4f95-9b51-04d20487f46a$45986edf-1a65-4712-91b9-b79a408e0782$7e9e418a-399e-4122-aab3-5f9d96e66301$321969fb-ff25-4a74-a23e-0b2a761050e7$dd5f2f46-f2f4-441b-b855-f6814a5b5b98$172e4393-8b3e-434e-a20a-d7748214fc23$25d15bbe-e29b-4383-ae47-d3ee744f80ed$8fb86e46-9b31-46a9-9bde-ad263f1bae8e$5590c2db-b49f-4116-a8a9-4ebab576e79c$34cfe0dc-7bca-4c6f-99ce-96758ccbd3af$dbae3ed0-3e25-4878-bbc2-b11d480689bc$f712f428-6da4-497d-85fe-a52069c8e294$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146a$accefce9-8508-495f-bb5e-6d3446e0c9a6$37112cd7-4f1c-4d7b-8531-59a74db71451$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8e$06d6f45a-3783-4b31-8926-ff0973bcc188$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8$9919ed90-ba6d-48d6-8f73-b9b509e88843$c646e383-aebc-43ea-9c61-542166e5e455$19a66a5a-fcd6-44dc-80de-c6c70674728b$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f$9b705730-a68a-450f-99a8-11b7d302ebe0$a570d7ef-72e5-49dd-92bd-e3925c896a23$ef6358be-4d53-42f0-8501-f7d7d3838781$5366270a-4f63-4d8a-bc4f-de36c0895a8b$24aa7b61-1c22-4d84-b19c-4ead65ae4615$0a47600f-62a6-4f75-bf30-7c9f45426ce1$1fb3f5f0-6baf-418c-84bf-507579adb8be$2c2036bd-2cea-4fe0-9f44-a6522826fdc3$33abfc8f-1590-45cd-9d3d-6a4cf211988d$845513d0-eb02-4c6a-bee9-56054d212d71$c527b5f8-de42-4b96-9542-3bcc0a13372d$814502c7-e9e7-4401-8465-fd11c2807e07$28e73db2-6c80-44c5-94cd-d5a2cc7cd935$290974ad-8c0a-48b6-a691-74ba7dc2b0f8$4650374e-dae2-46cb-ba91-50200621bf08$9bbe9030-86ae-490f-ae97-317ee3f05f47$7a4716c5-07e3-49bc-bbcb-1cc38f58a053$b4409bf0-75fd-4745-b686-079193900c27$231442e3-a1bc-4285-8c23-045a9bb60d67$4ada86e7-e310-471d-af45-f99310b6e223$6533a616-d778-4870-98b2-445a48f6d145$b338de96-b108-4cf5-921c-4ec71c4ee498$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281$fab701a7-7a70-4cc5-a1ad-a143b9125bec$addf4a56-5d85-4b5c-b956-8acacad79e5e$7f70715b-b13c-4b72-93c3-5c2c4334b809$8a1b06d4-29fa-443d-a7c2-f7705f770cac$0ac40588-fd45-4eef-89f1-b3552d0246a2$3b18aa3a-4521-4b4c-9500-a5f95003aed5$8143e4f0-8d66-4c64-9b4c-68954167e803$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9alast_hot_reload_time        shortpathpersistent combine values.jlprocess_statusreadypathR/home/runner/work/disorganised-mess/disorganised-mess/persistent combine values.jlpluto_versionv0.19.47last_save_timeAIcell_order M$76b5f036-6b70-4605-9063-f405b6b701fd$d71251ee-ceaf-46e5-b93d-82472ee08b00$aa01652d-7690-4462-8bae-2d77656abc8b$ebedad7d-764b-4eb1-9e6d-559a3c033cd0$8d1f6bd1-2d69-4685-8590-c5f93ef9b669$06d6f45a-3783-4b31-8926-ff0973bcc188$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91$d4a52691-6c69-4726-a119-499d6fb77fc1$0605a0c5-1329-4e9b-916d-c74a132598e0$32ab1f69-9e16-45ad-b44d-895a564178f4$87796357-5df1-4a7a-928a-5df3527b956f$5922807c-6e49-11ec-3c79-87e011cbf088$a0ae55eb-5c18-451a-896d-325f09dba6cd$8d1c2e47-3252-4e7b-9940-3c843e520cc6$0691aa89-eac7-426e-a5c5-3cbd131f929b$a10d59e8-8dae-4796-a88b-4907437164f5$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8e$8335ad24-3ff8-4a74-862f-13a710d4acf8$afc4a320-575a-4660-977b-51804160d334$ec0eb9eb-6716-4648-b7c7-203bd71fa64f$5ac241dc-7d04-46a5-943e-6830f745e798$9919ed90-ba6d-48d6-8f73-b9b509e88843$19a66a5a-fcd6-44dc-80de-c6c70674728b$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106f$9b705730-a68a-450f-99a8-11b7d302ebe0$a570d7ef-72e5-49dd-92bd-e3925c896a23$c646e383-aebc-43ea-9c61-542166e5e455$3c46ef54-0260-4269-b917-d14ce98a83f7$68197884-858c-4f0c-b858-4f7f3b081ddc$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0$dcb4786a-930a-4e8a-860a-a12c7e8726c6$4b4f5148-4bb5-4c91-811b-f822f7d403c4$e2234e7f-dbe1-4f95-9b51-04d20487f46a$45986edf-1a65-4712-91b9-b79a408e0782$7e9e418a-399e-4122-aab3-5f9d96e66301$321969fb-ff25-4a74-a23e-0b2a761050e7$dd5f2f46-f2f4-441b-b855-f6814a5b5b98$172e4393-8b3e-434e-a20a-d7748214fc23$25d15bbe-e29b-4383-ae47-d3ee744f80ed$8fb86e46-9b31-46a9-9bde-ad263f1bae8e$5590c2db-b49f-4116-a8a9-4ebab576e79c$34cfe0dc-7bca-4c6f-99ce-96758ccbd3af$f712f428-6da4-497d-85fe-a52069c8e294$dbae3ed0-3e25-4878-bbc2-b11d480689bc$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146a$accefce9-8508-495f-bb5e-6d3446e0c9a6$37112cd7-4f1c-4d7b-8531-59a74db71451$ef6358be-4d53-42f0-8501-f7d7d3838781$5366270a-4f63-4d8a-bc4f-de36c0895a8b$24aa7b61-1c22-4d84-b19c-4ead65ae4615$0a47600f-62a6-4f75-bf30-7c9f45426ce1$1fb3f5f0-6baf-418c-84bf-507579adb8be$2c2036bd-2cea-4fe0-9f44-a6522826fdc3$33abfc8f-1590-45cd-9d3d-6a4cf211988d$845513d0-eb02-4c6a-bee9-56054d212d71$c527b5f8-de42-4b96-9542-3bcc0a13372d$814502c7-e9e7-4401-8465-fd11c2807e07$28e73db2-6c80-44c5-94cd-d5a2cc7cd935$290974ad-8c0a-48b6-a691-74ba7dc2b0f8$4650374e-dae2-46cb-ba91-50200621bf08$9bbe9030-86ae-490f-ae97-317ee3f05f47$7a4716c5-07e3-49bc-bbcb-1cc38f58a053$b4409bf0-75fd-4745-b686-079193900c27$231442e3-a1bc-4285-8c23-045a9bb60d67$4ada86e7-e310-471d-af45-f99310b6e223$6533a616-d778-4870-98b2-445a48f6d145$b338de96-b108-4cf5-921c-4ec71c4ee498$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281$fab701a7-7a70-4cc5-a1ad-a143b9125bec$addf4a56-5d85-4b5c-b956-8acacad79e5e$7f70715b-b13c-4b72-93c3-5c2c4334b809$8a1b06d4-29fa-443d-a7c2-f7705f770cac$0ac40588-fd45-4eef-89f1-b3552d0246a2$3b18aa3a-4521-4b4c-9500-a5f95003aed5$8143e4f0-8d66-4c64-9b4c-68954167e803$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9apublished_objectsnbpkginstall_time_nsinstantiatedòinstalled_versionsterminal_outputsenabled·restart_recommended_msgrestart_required_msgbusy_packageswaiting_for_permission,waiting_for_permission_but_probably_disabled«cell_inputs M$a10d59e8-8dae-4796-a88b-4907437164f5cell_id$a10d59e8-8dae-4796-a88b-4907437164f5codeكbegin
	struct Parameters
		names::Vector{Symbol}
	end

	function Base.show(io::IO, m::MIME"text/html", ps::Parameters)
		
	end

endmetadatashow_logsèdisabled®skip_as_script«code_folded$3b18aa3a-4521-4b4c-9500-a5f95003aed5cell_id$3b18aa3a-4521-4b4c-9500-a5f95003aed5codeٝ@skip_as_script cb2b = @bind wowz combine() do Child
	md"""
	Do a thing: $(Child(CheckBox()))
	
	#### Up
	$(Child(cb1))

	#### Down
	$(Child(cb1))
	
	"""
endmetadatashow_logsèdisabled®skip_as_script«code_folded$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146acell_id$29b034d1-d1bf-4ddc-97fe-b5b9c7f6146acode"""
Same as `repr(MIME"text/html"(), x)` but the `IOContext` is set up to match the one used by Pluto to render. This means that if the object being rendered wants to use `AbstractPlutoDingetjes.is_supported_by_display`, they can.
"""
render_hmtl_with_pluto_display_features(x) = sprint() do io
	Base.show(
		IOContext(io, 
			:pluto_supported_integration_features => [
				AbstractPlutoDingetjes,
				AbstractPlutoDingetjes.Bonds,
				AbstractPlutoDingetjes.Bonds.initial_value,
				AbstractPlutoDingetjes.Bonds.transform_value,
				AbstractPlutoDingetjes.Bonds.possible_values,
			],
			:color => false, :limit => true, 
			:displaysize => (18, 88), :is_pluto => true, 
		),
		MIME"text/html"(),
		x
	)
endmetadatashow_logsèdisabled®skip_as_script«code_folded$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9acell_id$54ad28fe-ce9b-4984-9cf7-a65c3e3fec9acode@skip_as_script cb2bmetadatashow_logsèdisabled®skip_as_script«code_folded$dcb4786a-930a-4e8a-860a-a12c7e8726c6cell_id$dcb4786a-930a-4e8a-860a-a12c7e8726c6codeha === hbmetadatashow_logsèdisabled®skip_as_script«code_folded$28e73db2-6c80-44c5-94cd-d5a2cc7cd935cell_id$28e73db2-6c80-44c5-94cd-d5a2cc7cd935code@skip_as_script rb = @bind together combine() do Child
	@htl("""
	<p>Hello world!</p>
	$(Child(TextField()))
	$(Child(Slider([sin, cos, tan])))
	$([
		Child(Scrubbable(7))
		for _ in 1:3
	])
	
	""")
endmetadatashow_logsèdisabled®skip_as_script«code_folded$7f70715b-b13c-4b72-93c3-5c2c4334b809cell_id$7f70715b-b13c-4b72-93c3-5c2c4334b809code&@skip_as_script push!(☎️s, ☎️)metadatashow_logsèdisabled®skip_as_script«code_folded$4650374e-dae2-46cb-ba91-50200621bf08cell_id$4650374e-dae2-46cb-ba91-50200621bf08code@skip_as_script rbmetadatashow_logsèdisabled®skip_as_script«code_folded$0605a0c5-1329-4e9b-916d-c74a132598e0cell_id$0605a0c5-1329-4e9b-916d-c74a132598e0codeKmacro only_as_script(ex) skip_as_script(__module__) ? nothing : esc(ex) endmetadatashow_logsèdisabled®skip_as_script«code_folded$5ac241dc-7d04-46a5-943e-6830f745e798cell_id$5ac241dc-7d04-46a5-943e-6830f745e798codeScrubbable(1) == Scrubbable(1)metadatashow_logsèdisabled®skip_as_script«code_folded$8143e4f0-8d66-4c64-9b4c-68954167e803cell_id$8143e4f0-8d66-4c64-9b4c-68954167e803code@skip_as_script wowzmetadatashow_logsèdisabled®skip_as_script«code_folded$a570d7ef-72e5-49dd-92bd-e3925c896a23cell_id$a570d7ef-72e5-49dd-92bd-e3925c896a23codehash(ca), hash(cb)metadatashow_logsèdisabled®skip_as_script«code_folded$8335ad24-3ff8-4a74-862f-13a710d4acf8cell_id$8335ad24-3ff8-4a74-862f-13a710d4acf8code&Scrubbable(1:100) == Scrubbable(1:100)metadatashow_logsèdisabled®skip_as_script«code_folded$87796357-5df1-4a7a-928a-5df3527b956fcell_id$87796357-5df1-4a7a-928a-5df3527b956fcodePkg.activate()metadatashow_logsèdisabled®skip_as_script«code_folded$accefce9-8508-495f-bb5e-6d3446e0c9a6cell_id$accefce9-8508-495f-bb5e-6d3446e0c9a6code
function _combine(f::Function; try_persist_values::Bool=false)
	key = String(rand('a':'z', 10))

	captured_names = Symbol[]
	captured_bonds = []

	function combined_child_element(x)
		@htl("""<pl-combined-child key=$(key) style='display: contents;'>$(x)</pl-combined-child>""")
	end

	
	created_callbacks = RenderCallback[]

	#=
	
	This is the function that will wrap around contained input elements.
	
	Besides wrapping the input inside a special HTML element 
	(with `combined_child_element`), it also secretly adds the element to 
	`captured_bonds`. 
	
	This allows us to know exactly which elements are contained in the combine,
	which we use for `Bonds.initial_value`, `Bonds.transform_value`, etc.
	
	This function could be a lot simpler:

	```
	function Child(x)
		push!(captured_bonds, x)
		combined_child_element(x)
	end
	```
	
	But instead, it's complicated!
	
	The reason is that we want to capture the combined bonds not in the order
	that they are wrapped (i.e. when `Child` is called), but in the order that they
	are **displayed** in, because this matches the order that our JavaScript code
	will find the special elements in.
	
	=#
	function Child(x)
		rc = RenderCallback(combined_child_element(x)) do
			# @info "Rendering" x stacktrace()
			push!(captured_bonds, x)
		end
		push!(created_callbacks, rc)
		rc
	end
	# the same, but with `name`
	function Child(name::Union{String,Symbol}, x)
		rc = RenderCallback(combined_child_element(x)) do
			push!(captured_bonds, x)
			push!(captured_names, Symbol(name))
		end
		push!(created_callbacks, rc)
		rc
	end

	# call the user's render function
	result = f(Child)

	# Trigger HTML display, which will also render the Child elements, and fire our callbacks.
	# We store the result because we don't want to re-render the contents every time the combine is rendered: if the displayed content contains lazy generators, then blablablalbl difficult but fixed now -fons
	display_html = render_hmtl_with_pluto_display_features(result)

	# @info "Captured" captured_bonds length(created_callbacks)
	
	# disable callbacks
	disable_callback!.(created_callbacks)
	
	# lets see what we got
	@assert isempty(captured_names) || length(captured_names) == length(captured_bonds) "Some children do not have a name. Make sure that all calls of `Child` provide two arguments."
	
	CombinedBonds(;
		secret_key = key,
		try_persist_values = try_persist_values,
		captured_names = isempty(captured_names) ? nothing : tuple(captured_names...),
		captured_bonds = captured_bonds,
		display_content = HTML(display_html),
	)
endmetadatashow_logsèdisabled®skip_as_script«code_folded$32ab1f69-9e16-45ad-b44d-895a564178f4cell_id$32ab1f69-9e16-45ad-b44d-895a564178f4codeimport Pkgmetadatashow_logsèdisabled®skip_as_script«code_folded$aa01652d-7690-4462-8bae-2d77656abc8bcell_id$aa01652d-7690-4462-8bae-2d77656abc8bcodejust_created_bond = Slider(1:10)

bond = APD.Bonds.incorporate_last_bond(just_created_bond, old_bond)


x = Bonds.initial_value(bond)

# let Pluto server know that :x is bound to `bond`

HTML("<pluto-bond for=x>$(bond)</pluto-bond>")metadatashow_logsèdisabled®skip_as_script«code_folded$9b705730-a68a-450f-99a8-11b7d302ebe0cell_id$9b705730-a68a-450f-99a8-11b7d302ebe0codeca === cbmetadatashow_logsèdisabled®skip_as_script«code_folded$290974ad-8c0a-48b6-a691-74ba7dc2b0f8cell_id$290974ad-8c0a-48b6-a691-74ba7dc2b0f8code,@skip_as_script let
	sleep(.5)
	together
endmetadatashow_logsèdisabled®skip_as_script«code_folded$5922807c-6e49-11ec-3c79-87e011cbf088cell_id$5922807c-6e49-11ec-3c79-87e011cbf088codeusing PlutoUImetadatashow_logsèdisabled®skip_as_script«code_folded$34cfe0dc-7bca-4c6f-99ce-96758ccbd3afcell_id$34cfe0dc-7bca-4c6f-99ce-96758ccbd3afcodeconst set_input_value_compat = HypertextLiteral.JavaScript("""
(() => {
	let result = null
	try {
	result = setBoundElementValueLikePluto
} catch (e) {
	result = ((input, new_value) => {
	// fallback in case https://github.com/fonsp/Pluto.jl/pull/1755 is not available
    if (new_value == null) {
        //@ts-ignore
        input.value = new_value
        return
    }
    if (input instanceof HTMLInputElement) {
        switch (input.type) {
            case "range":
            case "number": {
                if (input.valueAsNumber !== new_value) {
                    input.valueAsNumber = new_value
                }
                return
            }
            case "date": {
                if (input.valueAsDate == null || Number(input.valueAsDate) !== Number(new_value)) {
                    input.valueAsDate = new_value
                }
                return
            }
            case "checkbox": {
                if (input.checked !== new_value) {
                    input.checked = new_value
                }
                return
            }
            case "file": {
                // Can't set files :(
                return
            }
        }
    } else if (input instanceof HTMLSelectElement && input.multiple) {
        for (let option of Array.from(input.options)) {
            option.selected = new_value.includes(option.value)
        }
        return
    }
    //@ts-ignore
    if (input.value !== new_value) {
        //@ts-ignore
        input.value = new_value
    }
})
}
return result
})()
""")metadatashow_logsèdisabled®skip_as_script«code_folded$172e4393-8b3e-434e-a20a-d7748214fc23cell_id$172e4393-8b3e-434e-a20a-d7748214fc23code#import AbstractPlutoDingetjes.Bondsmetadatashow_logsèdisabled®skip_as_script«code_folded$845513d0-eb02-4c6a-bee9-56054d212d71cell_id$845513d0-eb02-4c6a-bee9-56054d212d71code@skip_as_script speedsmetadatashow_logsèdisabled®skip_as_script«code_folded$06d6f45a-3783-4b31-8926-ff0973bcc188cell_id$06d6f45a-3783-4b31-8926-ff0973bcc188code@bind vals f(chosen_names)metadatashow_logsèdisabled®skip_as_script«code_folded$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8cell_id$df2571b4-f42f-4609-be1f-0d5ae2dd0fb8codevalsmetadatashow_logsèdisabled®skip_as_script«code_folded$c646e383-aebc-43ea-9c61-542166e5e455cell_id$c646e383-aebc-43ea-9c61-542166e5e455codeDump(ca)metadatashow_logsèdisabled®skip_as_script«code_folded$dd5f2f46-f2f4-441b-b855-f6814a5b5b98cell_id$dd5f2f46-f2f4-441b-b855-f6814a5b5b98codemd"""
# Combine
"""metadatashow_logsèdisabled®skip_as_script«code_folded$321969fb-ff25-4a74-a23e-0b2a761050e7cell_id$321969fb-ff25-4a74-a23e-0b2a761050e7codesleep(1); asdfsdfmetadatashow_logsèdisabled®skip_as_script«code_folded$fab701a7-7a70-4cc5-a1ad-a143b9125beccell_id$fab701a7-7a70-4cc5-a1ad-a143b9125beccode@skip_as_script begin
	☎️s = []
	☎️c = combine() do Child
		@htl("""
		$((
			Child(Slider(LinRange(rand(), rand()+1, 10))) for x in 1:5
		))
		""")
	end
	☎️b = @bind ☎️ ☎️c
endmetadatashow_logsèdisabled®skip_as_script«code_folded$9919ed90-ba6d-48d6-8f73-b9b509e88843cell_id$9919ed90-ba6d-48d6-8f73-b9b509e88843codeJca = combine() do Child
	@htl("""
	Hello $(Child(Slider(1:100)))
	""")
endmetadatashow_logsèdisabled®skip_as_script«code_folded$37112cd7-4f1c-4d7b-8531-59a74db71451cell_id$37112cd7-4f1c-4d7b-8531-59a74db71451code"""
```julia
PlutoUI.combine(render_function::Function)
```

Combine multiple input elements into one. The combined values are sent to `@bind` as a single tuple.

`render_function` is a function that you write yourself, take a look at the examples below.

# Examples

## 🐶 & 🐱

We use the [`do` syntax](https://docs.julialang.org/en/v1/manual/functions/#Do-Block-Syntax-for-Function-Arguments) to write our `render_function`. The `Child` function is wrapped around each input, to let `combine` know which values to combine.

```julia
@bind values PlutoUI.combine() do Child
	md""\"
	# Hi there!

	I have \$(
		Child(Slider(1:10))
	) dogs and \$(
		Child(Slider(5:100))
	) cats.

	Would you like to see them? \$(Child(CheckBox(true)))
	""\"
end

values == (1, 5, true) # (initially)
```


> The output looks like:
> 
> ![screenshot of running the code above inside Pluto](https://user-images.githubusercontent.com/6933510/145589918-25a3c732-c02e-482b-831b-06131b283597.png)

## 🎏


The `combine` function is most useful when you want to generate your input elements _dynamically_. This example uses [HypertextLiteral.jl](https://github.com/MechanicalRabbit/HypertextLiteral.jl) for the `@htl` macro:

```julia
function wind_speeds(directions)
	PlutoUI.combine() do Child
		@htl(""\"
		<h6>Wind speeds</h6>
		<ul>
		\$([
			@htl("<li>\$(name): \$(Child(Slider(1:100)))</li>")
			for name in directions
		])
		</ul>
		""\")
	end
end

@bind speeds wind_speeds(["North", "East", "South", "West"])

speeds == (1, 1, 1, 1) # (initially)

# after moving the sliders:
speeds == (100, 36, 73, 60)
```

> The output looks like:
> 
> ![screenshot of running the code above inside Pluto](https://user-images.githubusercontent.com/6933510/145588612-14824654-5c73-45f8-983c-8913c7101a78.png)


# Named variant

In the last example, we used `Child` to wrap around contained inputs:
```julia
Child(Slider(1:100))
```
We can also use the **named variant**, which looks like:
```julia
Child("East", Slider(1:100))
```

When you use the *named variant* for all children, **the bound value will be `NamedTuple`, instead of a `Tuple`**.

Let's rewrite our example to use the *named variant*:

```julia
function wind_speeds(directions)
	PlutoUI.combine() do Child
		@htl(""\"
		<h6>Wind speeds</h6>
		<ul>
		\$([
			@htl("<li>\$(name): \$(Child(name, Slider(1:100)))</li>")
			for name in directions
		])
		</ul>
		""\")
	end
end

@bind speeds wind_speeds(["North", "East", "South", "West"])

speeds == (North=1, East=1, South=1, West=1) # (initially)

# after moving the sliders:
speeds == (North=100, East=36, South=73, West=60)

md"The Eastern wind speed is \$(speeds.East)."
```


> The output looks like:
> 
> ![screenshot of running the code above inside Pluto](https://user-images.githubusercontent.com/6933510/145615489-b3fb910d-0dc1-408b-882f-b05ca0129b18.gif)


# Why?
## You can make a new widget!
You can use `combine` to **create a brand new widget** yourself, by combining existing ones!

In the example above, we created a new widget called `wind_speeds`. You could **put this function in a package** (e.g. `WeatherUI.jl`) and people could use it like so:

```julia
import WeatherUI: wind_speeds

@bind speeds wind_speeds(["North", "East"])
```

In other words: you can use `combine` to create application-specific UI elements, and you can put those in your package!

## Difference with repeated `@bind`
The standard way to combine multiple inputs into one output is to use `@bind` multiple times. Our initial example could more easily be written as:
```julia
md""\"
# Hi there!

I have \$(@bind num_dogs Slider(1:10)) dogs and \$(@bind num_cats Slider(5:10)) cats.

Would you like to see them? \$(@bind want_to_see CheckBox(true))
""\"
```

The `combine` function is useful when you are generating inputs **dynamically**, like in our second example. This is useful when:
- The number of parameters is very large, and you don't want to write `@bind parameter1 ...`, `@bind parameter2 ...`, etc. 
- The number of parameters is dynamic! For example, you can load in a table in one cell, and then use `combine` in another cell to select which rows you want to use.

"""
combine(f::Function; kwargs...) = _combine(f; kwargs...)metadatashow_logsèdisabled®skip_as_script«code_folded$a0ae55eb-5c18-451a-896d-325f09dba6cdcell_id$a0ae55eb-5c18-451a-896d-325f09dba6cdcodeusing HypertextLiteralmetadatashow_logsèdisabled®skip_as_script«code_folded$1fb3f5f0-6baf-418c-84bf-507579adb8becell_id$1fb3f5f0-6baf-418c-84bf-507579adb8becode@skip_as_script @bind values combine() do Child
	md"""
	# Hi there!

	I have $(Child(Slider(1:10))) dogs and $(Child(Slider(5:10))) cats.

	Would you like to see them? $(Child(CheckBox(true)))
	"""
endmetadatashow_logsèdisabled®skip_as_script«code_folded$7a4716c5-07e3-49bc-bbcb-1cc38f58a053cell_id$7a4716c5-07e3-49bc-bbcb-1cc38f58a053code'md"""
### Initial value & transform
"""metadatashow_logsèdisabled®skip_as_script«code_folded$8a1b06d4-29fa-443d-a7c2-f7705f770caccell_id$8a1b06d4-29fa-443d-a7c2-f7705f770caccode$md"""
### Combine inside combine
"""metadatashow_logsèdisabled®skip_as_script«code_folded$d4a52691-6c69-4726-a119-499d6fb77fc1cell_id$d4a52691-6c69-4726-a119-499d6fb77fc1code"""
	@skip_as_script expression

Marks a expression as Pluto-only, which means that it won't be executed when running outside Pluto. Do not use this for your own projects.
"""
macro skip_as_script(ex) skip_as_script(__module__) ? esc(ex) : nothing endmetadatashow_logsèdisabled®skip_as_script«code_folded$e2234e7f-dbe1-4f95-9b51-04d20487f46acell_id$e2234e7f-dbe1-4f95-9b51-04d20487f46acode"a" == "a"metadatashow_logsèdisabled®skip_as_script«code_folded$8fb86e46-9b31-46a9-9bde-ad263f1bae8ecell_id$8fb86e46-9b31-46a9-9bde-ad263f1bae8ecodemd"""
# Combining bonds
"""metadatashow_logsèdisabled®skip_as_script«code_folded$f712f428-6da4-497d-85fe-a52069c8e294cell_id$f712f428-6da4-497d-85fe-a52069c8e294codenbegin
	local output = begin
	"""
	```julia
	RenderCallback(callback::Function, x::Any)
	```
	An HTML display passthrough of `x` (displays the same content), but when it is displayed, a callback function is invoked. `disable_callback!` can remove a callback.
	"""
	struct RenderCallback
		callback_ref::Ref{Union{Function,Nothing}}
		content::Any
	end
	end
			
	function disable_callback!(rc::RenderCallback)
		rc.callback_ref[] = nothing
	end
	function Base.show(io::IO, m::MIME"text/html", rc::RenderCallback)
		if rc.callback_ref[] !== nothing
			rc.callback_ref[]()
		end
		Base.show(io, m, rc.content)
	end
	output
endmetadatashow_logsèdisabled®skip_as_script«code_folded$4ada86e7-e310-471d-af45-f99310b6e223cell_id$4ada86e7-e310-471d-af45-f99310b6e223code@skip_as_script begin
	itvs = []
	itb = @bind itv combine() do Child
		@htl("""
		<p>Hello world!</p>
		$(Child(@htl("<input type=range>")))
		$(Child(Slider([sin, cos, tan])))
		
		""")
	end
endmetadatashow_logsèdisabled®skip_as_script«code_folded$addf4a56-5d85-4b5c-b956-8acacad79e5ecell_id$addf4a56-5d85-4b5c-b956-8acacad79e5ecode&@skip_as_script ☎️c.captured_bondsmetadatashow_logsèdisabled®skip_as_script«code_folded$76b5f036-6b70-4605-9063-f405b6b701fdcell_id$76b5f036-6b70-4605-9063-f405b6b701fdcode+md"""
# TODO
- get secret_id from last Combine
- get last Combine, ideally during constructor
- get last bond value, during constructor or intial_value


Maybe

```julia
Bonds.incorporate_last_bond(
	just_created::T, 
	previous::T, 
	previous_value_from_js::Any
)::T

```
with default `(a,b)->a`
"""metadatashow_logsèdisabled®skip_as_script«code_folded$0691aa89-eac7-426e-a5c5-3cbd131f929bcell_id$0691aa89-eac7-426e-a5c5-3cbd131f929bcodeA([1],2) == A([1],2)metadatashow_logsèdisabled®skip_as_script«code_folded$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91cell_id$bfcf8d85-cc38-4346-ab9b-4ac99aac4d91code٫function skip_as_script(m::Module)
	if isdefined(m, :PlutoForceDisplay)
		return m.PlutoForceDisplay
	else
		isdefined(m, :PlutoRunner) && parentmodule(m) == Main
	end
endmetadatashow_logsèdisabled®skip_as_script«code_folded$68197884-858c-4f0c-b858-4f7f3b081ddccell_id$68197884-858c-4f0c-b858-4f7f3b081ddccodejhb = @htl("""ab $(@htl("<em style=$((a=123, b=234))>asdf</em>")) c
<script>
let z = $(1+1)
</script>

""")metadatashow_logsèdisabled®skip_as_script«code_folded$ec0eb9eb-6716-4648-b7c7-203bd71fa64fcell_id$ec0eb9eb-6716-4648-b7c7-203bd71fa64fcodeSlider(1:100) == Slider(1:100)metadatashow_logsèdisabled®skip_as_script«code_folded$2c2036bd-2cea-4fe0-9f44-a6522826fdc3cell_id$2c2036bd-2cea-4fe0-9f44-a6522826fdc3code@skip_as_script valuesmetadatashow_logsèdisabled®skip_as_script«code_folded$b4409bf0-75fd-4745-b686-079193900c27cell_id$b4409bf0-75fd-4745-b686-079193900c27code@skip_as_script begin
	it2vs = []
	it2b = @bind it2v combine() do Child

		z = Child(Slider(1:10))
		
		@htl("""
		<p>Hello world!</p>
		$(z)
		$(Child(Slider([sin, cos, tan])))
		$(z)
		
		""")
	end
endmetadatashow_logsèdisabled®skip_as_script«code_folded$8d1c2e47-3252-4e7b-9940-3c843e520cc6cell_id$8d1c2e47-3252-4e7b-9940-3c843e520cc6codestruct A
	x
	y
endmetadatashow_logsèdisabled®skip_as_script«code_folded$231442e3-a1bc-4285-8c23-045a9bb60d67cell_id$231442e3-a1bc-4285-8c23-045a9bb60d67code"@skip_as_script push!(it2vs, it2v)metadatashow_logsèdisabled®skip_as_script«code_folded$45986edf-1a65-4712-91b9-b79a408e0782cell_id$45986edf-1a65-4712-91b9-b79a408e0782codemetadatashow_logsèdisabled®skip_as_script«code_folded$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8ecell_id$c6f0b4b3-362c-4b61-8d3e-f7272e4a3f8ecode\function f(names)
	# Parameters(names)
	combine(try_persist_values=true) do Child
		@htl("""
		<table><caption><h3>Parameters</h3></caption>
	  <thead><tr><th>Name</th><th>value</th></thead>
		<tbody>
	  $((@htl("""
	  <tr><td>$(name)</td><td>$(Child(name, NumberField(0:.1:100)))</td></tr>
	""") for name in names))</tbody></table>
		""")
	end
endmetadatashow_logsèdisabled®skip_as_script«code_folded$5590c2db-b49f-4116-a8a9-4ebab576e79ccell_id$5590c2db-b49f-4116-a8a9-4ebab576e79ccodemd"""
## The magic
"""metadatashow_logsèdisabled®skip_as_script«code_folded$5366270a-4f63-4d8a-bc4f-de36c0895a8bcell_id$5366270a-4f63-4d8a-bc4f-de36c0895a8bcode-RenderCallback(@htl("hello")) do
	nothing
endmetadatashow_logsèdisabled®skip_as_script«code_folded$c527b5f8-de42-4b96-9542-3bcc0a13372dcell_id$c527b5f8-de42-4b96-9542-3bcc0a13372dcode@skip_as_script @bind speeds_named combine() do Child
	@htl("""
	<h3>Wind speeds</h3>
	<ul>
	$([
		@htl("<li>$(name): $(Child(name, Slider(1:100)))")
		for name in ["North", "East", "South", "West"]
	])
	</ul>
	""")
endmetadatashow_logsèdisabled®skip_as_script«code_folded$6533a616-d778-4870-98b2-445a48f6d145cell_id$6533a616-d778-4870-98b2-445a48f6d145code# @skip_as_script itbmetadatashow_logsèdisabled®skip_as_script«code_folded$d71251ee-ceaf-46e5-b93d-82472ee08b00cell_id$d71251ee-ceaf-46e5-b93d-82472ee08b00code@bind x Slider(1:10)metadatashow_logsèdisabled®skip_as_script«code_folded$3c46ef54-0260-4269-b917-d14ce98a83f7cell_id$3c46ef54-0260-4269-b917-d14ce98a83f7codejha = @htl("""ab $(@htl("<em style=$((a=123, b=234))>asdf</em>")) c
<script>
let z = $(1+1)
</script>

""")metadatashow_logsèdisabled®skip_as_script«code_folded$afc4a320-575a-4660-977b-51804160d334cell_id$afc4a320-575a-4660-977b-51804160d334code(NumberField(1:100) == NumberField(1:100)metadatashow_logsèdisabled®skip_as_script«code_folded$25d15bbe-e29b-4383-ae47-d3ee744f80edcell_id$25d15bbe-e29b-4383-ae47-d3ee744f80edcodeimport AbstractPlutoDingetjesmetadatashow_logsèdisabled®skip_as_script«code_folded$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fcell_id$1f9e641c-e3d1-4c1c-9c8a-f25b2cf4106fcodeca == cbmetadatashow_logsèdisabled®skip_as_script«code_folded$b338de96-b108-4cf5-921c-4ec71c4ee498cell_id$b338de96-b108-4cf5-921c-4ec71c4ee498code1md"""
Should be `[[missing, sin], [50, sin]]`
"""metadatashow_logsèdisabled®skip_as_script«code_folded$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0cell_id$aed9e41b-8e9c-41b5-83f0-7cabb7feaab0codeha == hbmetadatashow_logsèdisabled®skip_as_script«code_folded$0ac40588-fd45-4eef-89f1-b3552d0246a2cell_id$0ac40588-fd45-4eef-89f1-b3552d0246a2codeم@skip_as_script cb1 = combine() do Child
	md"""
	Left: $(Child(:left, Slider(1:10))), right: $(Child(:right, Scrubbable(5)))
	"""
endmetadatashow_logsèdisabled®skip_as_script«code_folded$ef6358be-4d53-42f0-8501-f7d7d3838781cell_id$ef6358be-4d53-42f0-8501-f7d7d3838781codeexport combinemetadatashow_logsèdisabled®skip_as_script«code_folded$ebedad7d-764b-4eb1-9e6d-559a3c033cd0cell_id$ebedad7d-764b-4eb1-9e6d-559a3c033cd0code*all_names = [:fons, :hannes, :asdf_dsfsdf]metadatashow_logsèdisabled®skip_as_script«code_folded$814502c7-e9e7-4401-8465-fd11c2807e07cell_id$814502c7-e9e7-4401-8465-fd11c2807e07code@skip_as_script speeds_namedmetadatashow_logsèdisabled®skip_as_script«code_folded$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281cell_id$f061b4d3-dc3d-444c-a4d7-9e1f6d32f281code @skip_as_script push!(itvs, itv)metadatashow_logsèdisabled®skip_as_script«code_folded$19a66a5a-fcd6-44dc-80de-c6c70674728bcell_id$19a66a5a-fcd6-44dc-80de-c6c70674728bcodeJcb = combine() do Child
	@htl("""
	Hello $(Child(Slider(1:100)))
	""")
endmetadatashow_logsèdisabled®skip_as_script«code_folded$7e9e418a-399e-4122-aab3-5f9d96e66301cell_id$7e9e418a-399e-4122-aab3-5f9d96e66301code@bind asdfsdf html"<input>"metadatashow_logsèdisabled®skip_as_script«code_folded$8d1f6bd1-2d69-4685-8590-c5f93ef9b669cell_id$8d1f6bd1-2d69-4685-8590-c5f93ef9b669codeC@bind chosen_names MultiCheckBox(all_names; default=all_names[1:2])metadatashow_logsèdisabled®skip_as_script«code_folded$0a47600f-62a6-4f75-bf30-7c9f45426ce1cell_id$0a47600f-62a6-4f75-bf30-7c9f45426ce1codemd"""
## Examples
"""metadatashow_logsèdisabled®skip_as_script«code_folded$4b4f5148-4bb5-4c91-811b-f822f7d403c4cell_id$4b4f5148-4bb5-4c91-811b-f822f7d403c4code9@htl("ab$(123)c").contents .== @htl("ab$(123)c").contentsmetadatashow_logsèdisabled®skip_as_script«code_folded$dbae3ed0-3e25-4878-bbc2-b11d480689bccell_id$dbae3ed0-3e25-4878-bbc2-b11d480689bccodeCbegin
	Base.@kwdef struct CombinedBonds
		display_content::Any
		captured_names::Union{Nothing,NTuple{N,Symbol} where N}
		captured_bonds::Vector{Any}
		secret_key::String
		try_persist_values::Bool
	end

	function Base.show(io::IO, m::MIME"text/html", cb::CombinedBonds)
		if !AbstractPlutoDingetjes.is_supported_by_display(io, Bonds.transform_value)
			return Base.show(io, m, HTML("<span>❌ You need to update Pluto to use this PlutoUI element.</span>"))
		end
		output = @htl(
			"""<span style='display: contents;'>$(
				cb.display_content
			)<script id=$("plutoui-combine")>

		let set_input_value = $(set_input_value_compat)
		
		const div = currentScript.parentElement
		let key = $(cb.secret_key)
		const inputs = div.querySelectorAll(`pl-combined-child[key='\${key}'] > *:first-child`)

		const names = $(cb.captured_names === nothing ? nothing : string.(cb.captured_names))
		const values = Array(inputs.length)
		const old_names = this?.names
		const old_values = this?.values
		const try_persist_values = $(cb.try_persist_values)

		console.info("this ", {old_names, names, old_values, values})

		try_persist_values && old_names != null && old_values != null && old_names.length === old_values.length && inputs.forEach((el,i) => {
			let old_index = old_names.indexOf(names[i])

			if(old_index !== -1){
				set_input_value(el, old_values[old_index])
			}
		})
		
		inputs.forEach(async (el,i) => {
			el.oninput = (e) => {
				e.stopPropagation()
			}
			const gen = Generators.input(el)
			while(true) {
				values[i] = await gen.next().value
				div.dispatchEvent(new CustomEvent("input", {}))
			}
		})
	
		Object.defineProperty(div, 'value', {
			get: () => values,
			set: (newvals) => {
				if(!newvals) {
					return
				}
				inputs.forEach((el, i) => {
					values[i] = newvals[i]
					set_input_value(el, newvals[i])
				})
		},
			configurable: true,
		});

		const return_dummy = document.createElement("span")
		return_dummy.names = names
		return_dummy.values = values
		return return_dummy

		</script></span>""")
		Base.show(io, m, output)
	end

	function Bonds.initial_value(cb::CombinedBonds)
		vals = tuple((Bonds.initial_value(b) for b in cb.captured_bonds)...)

		if cb.captured_names === nothing
			vals
		else
			NamedTuple{cb.captured_names}(vals)
		end
	end
	function Bonds.validate_value(cb::CombinedBonds, from_js)
		if from_js isa Vector && length(from_js) == length(cb.captured_bonds)
			all((
				Bonds.validate_value(bond, val_js)
				for (bond, val_js) in zip(cb.captured_bonds, from_js)
			))
		else
			false
		end
	end
	function Bonds.transform_value(cb::CombinedBonds, from_js)
		@assert from_js isa Vector
		@assert length(from_js) == length(cb.captured_bonds)

		vals = tuple((
			Bonds.transform_value(bond, val_js)
			for (bond, val_js) in zip(cb.captured_bonds, from_js)
		)...)

		if cb.captured_names === nothing
			vals
		else
			NamedTuple{cb.captured_names}(vals)
		end
		
		# [
		# 	Bonds.transform_value(bond, val_js)
		# 	for (bond, val_js) in zip(cb.captured_bonds, from_js)
		# ]
	end
	
	# TODO:
	# function Bonds.possible_values (cb::CombinedBonds, from_js)
	# end
	
endmetadatashow_logsèdisabled®skip_as_script«code_folded$24aa7b61-1c22-4d84-b19c-4ead65ae4615cell_id$24aa7b61-1c22-4d84-b19c-4ead65ae4615codelet
	values = []
	rc = RenderCallback(@htl("asdf")) do
		push!(values, 123)
	end
	repr(MIME"text/html"(), rc)
	disable_callback!(rc)
	repr(MIME"text/html"(), rc)
	repr(MIME"text/html"(), rc)
	values
endmetadatashow_logsèdisabled®skip_as_script«code_folded$33abfc8f-1590-45cd-9d3d-6a4cf211988dcell_id$33abfc8f-1590-45cd-9d3d-6a4cf211988dcode@skip_as_script @bind speeds combine() do Child
	@htl("""
	<h3>Wind speeds</h3>
	<ul>
	$([
		@htl("<li>$(name): $(Child(Slider(1:100)))")
		for name in ["North", "East", "South", "West"]
	])
	</ul>
	""")
endmetadatashow_logsèdisabled®skip_as_script«code_folded$9bbe9030-86ae-490f-ae97-317ee3f05f47cell_id$9bbe9030-86ae-490f-ae97-317ee3f05f47codemd"""
## Tests
"""metadatashow_logsèdisabled®skip_as_script«code_foldedënotebook_id$59d97ba6-4aa2-11f0-10f9-0b660d6e6ed5in_temp_dir¨metadata